aden-tools 1.0.2__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.
- aden_tools/__init__.py +52 -0
- aden_tools/credentials/__init__.py +330 -0
- aden_tools/credentials/airtable.py +40 -0
- aden_tools/credentials/apify.py +34 -0
- aden_tools/credentials/apollo.py +46 -0
- aden_tools/credentials/asana.py +38 -0
- aden_tools/credentials/attio.py +55 -0
- aden_tools/credentials/aws_s3.py +63 -0
- aden_tools/credentials/azure_sql.py +55 -0
- aden_tools/credentials/base.py +493 -0
- aden_tools/credentials/bigquery.py +51 -0
- aden_tools/credentials/brevo.py +39 -0
- aden_tools/credentials/browser.py +104 -0
- aden_tools/credentials/calcom.py +43 -0
- aden_tools/credentials/calendly.py +37 -0
- aden_tools/credentials/cloudflare.py +70 -0
- aden_tools/credentials/cloudinary.py +83 -0
- aden_tools/credentials/confluence.py +83 -0
- aden_tools/credentials/databricks.py +39 -0
- aden_tools/credentials/discord.py +42 -0
- aden_tools/credentials/docker_hub.py +38 -0
- aden_tools/credentials/email.py +100 -0
- aden_tools/credentials/freshdesk.py +67 -0
- aden_tools/credentials/gcp_vision.py +46 -0
- aden_tools/credentials/github.py +58 -0
- aden_tools/credentials/gitlab.py +40 -0
- aden_tools/credentials/google_analytics.py +44 -0
- aden_tools/credentials/google_maps.py +49 -0
- aden_tools/credentials/google_search_console.py +38 -0
- aden_tools/credentials/greenhouse.py +40 -0
- aden_tools/credentials/health_check.py +1540 -0
- aden_tools/credentials/hubspot.py +56 -0
- aden_tools/credentials/huggingface.py +39 -0
- aden_tools/credentials/integrations.py +149 -0
- aden_tools/credentials/intercom.py +47 -0
- aden_tools/credentials/jira.py +86 -0
- aden_tools/credentials/kafka.py +59 -0
- aden_tools/credentials/langfuse.py +59 -0
- aden_tools/credentials/linear.py +51 -0
- aden_tools/credentials/lusha.py +37 -0
- aden_tools/credentials/mattermost.py +65 -0
- aden_tools/credentials/microsoft_graph.py +45 -0
- aden_tools/credentials/mongodb.py +78 -0
- aden_tools/credentials/n8n.py +56 -0
- aden_tools/credentials/news.py +53 -0
- aden_tools/credentials/notion.py +52 -0
- aden_tools/credentials/obsidian.py +37 -0
- aden_tools/credentials/pagerduty.py +55 -0
- aden_tools/credentials/pinecone.py +38 -0
- aden_tools/credentials/pipedrive.py +43 -0
- aden_tools/credentials/plaid.py +58 -0
- aden_tools/credentials/postgres.py +40 -0
- aden_tools/credentials/powerbi.py +35 -0
- aden_tools/credentials/prometheus.py +41 -0
- aden_tools/credentials/pushover.py +38 -0
- aden_tools/credentials/quickbooks.py +61 -0
- aden_tools/credentials/razorpay.py +74 -0
- aden_tools/credentials/reddit.py +61 -0
- aden_tools/credentials/redis.py +40 -0
- aden_tools/credentials/redshift.py +56 -0
- aden_tools/credentials/salesforce.py +63 -0
- aden_tools/credentials/sap.py +74 -0
- aden_tools/credentials/search.py +115 -0
- aden_tools/credentials/serpapi.py +36 -0
- aden_tools/credentials/shell_config.py +245 -0
- aden_tools/credentials/shopify.py +63 -0
- aden_tools/credentials/similarweb.py +53 -0
- aden_tools/credentials/slack.py +121 -0
- aden_tools/credentials/snowflake.py +52 -0
- aden_tools/credentials/store_adapter.py +897 -0
- aden_tools/credentials/stripe.py +87 -0
- aden_tools/credentials/supabase.py +39 -0
- aden_tools/credentials/telegram.py +48 -0
- aden_tools/credentials/terraform.py +35 -0
- aden_tools/credentials/tines.py +54 -0
- aden_tools/credentials/trello.py +70 -0
- aden_tools/credentials/twilio.py +58 -0
- aden_tools/credentials/twitter.py +37 -0
- aden_tools/credentials/vercel.py +37 -0
- aden_tools/credentials/wandb.py +38 -0
- aden_tools/credentials/x.py +106 -0
- aden_tools/credentials/youtube.py +40 -0
- aden_tools/credentials/zendesk.py +83 -0
- aden_tools/credentials/zoho.py +45 -0
- aden_tools/credentials/zoho_crm.py +36 -0
- aden_tools/credentials/zoom.py +39 -0
- aden_tools/file_ops.py +1703 -0
- aden_tools/file_state_cache.py +177 -0
- aden_tools/hashline.py +223 -0
- aden_tools/senders/__init__.py +21 -0
- aden_tools/senders/providers.py +346 -0
- aden_tools/senders/registry.py +196 -0
- aden_tools/senders/rotation.py +173 -0
- aden_tools/senders/sendlog.py +203 -0
- aden_tools/senders/setup.py +403 -0
- aden_tools/senders/threads.py +163 -0
- aden_tools/tools/__init__.py +397 -0
- aden_tools/tools/account_info_tool/README.md +104 -0
- aden_tools/tools/account_info_tool/__init__.py +5 -0
- aden_tools/tools/account_info_tool/account_info_tool.py +35 -0
- aden_tools/tools/airtable_tool/README.md +99 -0
- aden_tools/tools/airtable_tool/__init__.py +5 -0
- aden_tools/tools/airtable_tool/airtable_tool.py +466 -0
- aden_tools/tools/apify_tool/README.md +155 -0
- aden_tools/tools/apify_tool/__init__.py +5 -0
- aden_tools/tools/apify_tool/apify_tool.py +346 -0
- aden_tools/tools/apollo_tool/README.md +42 -0
- aden_tools/tools/apollo_tool/__init__.py +13 -0
- aden_tools/tools/apollo_tool/apollo_tool.py +745 -0
- aden_tools/tools/arxiv_tool/README.md +171 -0
- aden_tools/tools/arxiv_tool/__init__.py +5 -0
- aden_tools/tools/arxiv_tool/arxiv_tool.py +224 -0
- aden_tools/tools/asana_tool/README.md +78 -0
- aden_tools/tools/asana_tool/__init__.py +5 -0
- aden_tools/tools/asana_tool/asana_tool.py +476 -0
- aden_tools/tools/attach_file_tool/__init__.py +5 -0
- aden_tools/tools/attach_file_tool/attach_file_tool.py +317 -0
- aden_tools/tools/attio_tool/README.md +65 -0
- aden_tools/tools/attio_tool/__init__.py +5 -0
- aden_tools/tools/attio_tool/attio_tool.py +739 -0
- aden_tools/tools/attio_tool/tests/__init__.py +0 -0
- aden_tools/tools/attio_tool/tests/test_attio_tool.py +836 -0
- aden_tools/tools/aws_s3_tool/README.md +59 -0
- aden_tools/tools/aws_s3_tool/__init__.py +5 -0
- aden_tools/tools/aws_s3_tool/aws_s3_tool.py +461 -0
- aden_tools/tools/azure_sql_tool/README.md +62 -0
- aden_tools/tools/azure_sql_tool/__init__.py +5 -0
- aden_tools/tools/azure_sql_tool/azure_sql_tool.py +214 -0
- aden_tools/tools/bigquery_tool/README.md +207 -0
- aden_tools/tools/bigquery_tool/__init__.py +9 -0
- aden_tools/tools/bigquery_tool/bigquery_tool.py +379 -0
- aden_tools/tools/brevo_tool/README.md +172 -0
- aden_tools/tools/brevo_tool/__init__.py +5 -0
- aden_tools/tools/brevo_tool/brevo_tool.py +626 -0
- aden_tools/tools/calcom_tool/README.md +94 -0
- aden_tools/tools/calcom_tool/__init__.py +9 -0
- aden_tools/tools/calcom_tool/calcom_tool.py +597 -0
- aden_tools/tools/calendar_tool/README.md +265 -0
- aden_tools/tools/calendar_tool/__init__.py +5 -0
- aden_tools/tools/calendar_tool/calendar_tool.py +921 -0
- aden_tools/tools/calendly_tool/README.md +79 -0
- aden_tools/tools/calendly_tool/__init__.py +5 -0
- aden_tools/tools/calendly_tool/calendly_tool.py +388 -0
- aden_tools/tools/cloudflare_tool/README.md +271 -0
- aden_tools/tools/cloudflare_tool/__init__.py +5 -0
- aden_tools/tools/cloudflare_tool/cloudflare_tool.py +1842 -0
- aden_tools/tools/cloudinary_tool/README.md +59 -0
- aden_tools/tools/cloudinary_tool/__init__.py +5 -0
- aden_tools/tools/cloudinary_tool/cloudinary_tool.py +416 -0
- aden_tools/tools/confluence_tool/README.md +198 -0
- aden_tools/tools/confluence_tool/__init__.py +5 -0
- aden_tools/tools/confluence_tool/confluence_tool.py +446 -0
- aden_tools/tools/csv_tool/README.md +168 -0
- aden_tools/tools/csv_tool/__init__.py +5 -0
- aden_tools/tools/csv_tool/csv_tool.py +328 -0
- aden_tools/tools/databricks_tool/README.md +128 -0
- aden_tools/tools/databricks_tool/__init__.py +5 -0
- aden_tools/tools/databricks_tool/databricks_tool.py +339 -0
- aden_tools/tools/discord_tool/README.md +44 -0
- aden_tools/tools/discord_tool/__init__.py +5 -0
- aden_tools/tools/discord_tool/discord_tool.py +419 -0
- aden_tools/tools/dns_security_scanner/README.md +111 -0
- aden_tools/tools/dns_security_scanner/__init__.py +5 -0
- aden_tools/tools/dns_security_scanner/dns_security_scanner.py +249 -0
- aden_tools/tools/docker_hub_tool/README.md +124 -0
- aden_tools/tools/docker_hub_tool/__init__.py +5 -0
- aden_tools/tools/docker_hub_tool/docker_hub_tool.py +361 -0
- aden_tools/tools/duckduckgo_tool/README.md +64 -0
- aden_tools/tools/duckduckgo_tool/__init__.py +5 -0
- aden_tools/tools/duckduckgo_tool/duckduckgo_tool.py +176 -0
- aden_tools/tools/email_tool/README.md +50 -0
- aden_tools/tools/email_tool/__init__.py +5 -0
- aden_tools/tools/email_tool/email_tool.py +446 -0
- aden_tools/tools/exa_search_tool/README.md +98 -0
- aden_tools/tools/exa_search_tool/__init__.py +5 -0
- aden_tools/tools/exa_search_tool/exa_search_tool.py +630 -0
- aden_tools/tools/excel_tool/README.md +361 -0
- aden_tools/tools/excel_tool/__init__.py +5 -0
- aden_tools/tools/excel_tool/excel_tool.py +703 -0
- aden_tools/tools/file_system_toolkits/README.md +35 -0
- aden_tools/tools/file_system_toolkits/__init__.py +0 -0
- aden_tools/tools/file_system_toolkits/security.py +62 -0
- aden_tools/tools/freshdesk_tool/README.md +109 -0
- aden_tools/tools/freshdesk_tool/__init__.py +5 -0
- aden_tools/tools/freshdesk_tool/freshdesk_tool.py +889 -0
- aden_tools/tools/github_tool/README.md +646 -0
- aden_tools/tools/github_tool/__init__.py +5 -0
- aden_tools/tools/github_tool/github_tool.py +1231 -0
- aden_tools/tools/gitlab_tool/README.md +62 -0
- aden_tools/tools/gitlab_tool/__init__.py +5 -0
- aden_tools/tools/gitlab_tool/gitlab_tool.py +568 -0
- aden_tools/tools/gmail_tool/README.md +107 -0
- aden_tools/tools/gmail_tool/__init__.py +5 -0
- aden_tools/tools/gmail_tool/gmail_tool.py +807 -0
- aden_tools/tools/google_analytics_tool/README.md +124 -0
- aden_tools/tools/google_analytics_tool/__init__.py +5 -0
- aden_tools/tools/google_analytics_tool/google_analytics_tool.py +451 -0
- aden_tools/tools/google_docs_tool/README.md +146 -0
- aden_tools/tools/google_docs_tool/__init__.py +9 -0
- aden_tools/tools/google_docs_tool/google_docs_tool.py +797 -0
- aden_tools/tools/google_docs_tool/tests/__init__.py +1 -0
- aden_tools/tools/google_docs_tool/tests/test_google_docs_tool.py +468 -0
- aden_tools/tools/google_maps_tool/README.md +180 -0
- aden_tools/tools/google_maps_tool/__init__.py +5 -0
- aden_tools/tools/google_maps_tool/google_maps_tool.py +694 -0
- aden_tools/tools/google_search_console_tool/README.md +68 -0
- aden_tools/tools/google_search_console_tool/__init__.py +5 -0
- aden_tools/tools/google_search_console_tool/google_search_console_tool.py +439 -0
- aden_tools/tools/google_sheets_tool/README.md +181 -0
- aden_tools/tools/google_sheets_tool/__init__.py +5 -0
- aden_tools/tools/google_sheets_tool/google_sheets_tool.py +634 -0
- aden_tools/tools/google_sheets_tool/tests/__init__.py +0 -0
- aden_tools/tools/google_sheets_tool/tests/test_google_sheets_integration.py +253 -0
- aden_tools/tools/google_sheets_tool/tests/test_google_sheets_tool.py +717 -0
- aden_tools/tools/greenhouse_tool/README.md +60 -0
- aden_tools/tools/greenhouse_tool/__init__.py +5 -0
- aden_tools/tools/greenhouse_tool/greenhouse_tool.py +511 -0
- aden_tools/tools/http_headers_scanner/README.md +111 -0
- aden_tools/tools/http_headers_scanner/__init__.py +5 -0
- aden_tools/tools/http_headers_scanner/http_headers_scanner.py +164 -0
- aden_tools/tools/hubspot_tool/README.md +73 -0
- aden_tools/tools/hubspot_tool/__init__.py +9 -0
- aden_tools/tools/hubspot_tool/hubspot_tool.py +662 -0
- aden_tools/tools/hubspot_tool/tests/__init__.py +0 -0
- aden_tools/tools/hubspot_tool/tests/test_hubspot_tool.py +464 -0
- aden_tools/tools/huggingface_tool/README.md +101 -0
- aden_tools/tools/huggingface_tool/__init__.py +5 -0
- aden_tools/tools/huggingface_tool/huggingface_tool.py +524 -0
- aden_tools/tools/image_gen_tool/__init__.py +5 -0
- aden_tools/tools/image_gen_tool/image_gen_tool.py +429 -0
- aden_tools/tools/intercom_tool/README.md +99 -0
- aden_tools/tools/intercom_tool/__init__.py +9 -0
- aden_tools/tools/intercom_tool/intercom_tool.py +706 -0
- aden_tools/tools/intercom_tool/tests/__init__.py +0 -0
- aden_tools/tools/intercom_tool/tests/test_intercom_tool.py +734 -0
- aden_tools/tools/jira_tool/README.md +127 -0
- aden_tools/tools/jira_tool/__init__.py +5 -0
- aden_tools/tools/jira_tool/jira_tool.py +516 -0
- aden_tools/tools/kafka_tool/README.md +58 -0
- aden_tools/tools/kafka_tool/__init__.py +5 -0
- aden_tools/tools/kafka_tool/kafka_tool.py +250 -0
- aden_tools/tools/langfuse_tool/README.md +102 -0
- aden_tools/tools/langfuse_tool/__init__.py +5 -0
- aden_tools/tools/langfuse_tool/langfuse_tool.py +490 -0
- aden_tools/tools/linear_tool/README.md +151 -0
- aden_tools/tools/linear_tool/__init__.py +5 -0
- aden_tools/tools/linear_tool/linear_tool.py +1410 -0
- aden_tools/tools/linear_tool/tests/__init__.py +1 -0
- aden_tools/tools/linear_tool/tests/test_linear_tool.py +792 -0
- aden_tools/tools/lusha_tool/README.md +38 -0
- aden_tools/tools/lusha_tool/__init__.py +5 -0
- aden_tools/tools/lusha_tool/lusha_tool.py +445 -0
- aden_tools/tools/mattermost_tool/__init__.py +5 -0
- aden_tools/tools/mattermost_tool/mattermost_tool.py +435 -0
- aden_tools/tools/microsoft_graph_tool/README.md +83 -0
- aden_tools/tools/microsoft_graph_tool/__init__.py +5 -0
- aden_tools/tools/microsoft_graph_tool/microsoft_graph_tool.py +588 -0
- aden_tools/tools/mongodb_tool/README.md +100 -0
- aden_tools/tools/mongodb_tool/__init__.py +5 -0
- aden_tools/tools/mongodb_tool/mongodb_tool.py +321 -0
- aden_tools/tools/n8n_tool/README.md +56 -0
- aden_tools/tools/n8n_tool/__init__.py +5 -0
- aden_tools/tools/n8n_tool/n8n_tool.py +410 -0
- aden_tools/tools/news_tool/README.md +71 -0
- aden_tools/tools/news_tool/__init__.py +7 -0
- aden_tools/tools/news_tool/news_tool.py +710 -0
- aden_tools/tools/notion_tool/README.md +270 -0
- aden_tools/tools/notion_tool/__init__.py +5 -0
- aden_tools/tools/notion_tool/notion_tool.py +844 -0
- aden_tools/tools/obsidian_tool/README.md +54 -0
- aden_tools/tools/obsidian_tool/__init__.py +5 -0
- aden_tools/tools/obsidian_tool/obsidian_tool.py +345 -0
- aden_tools/tools/openmeteo_tool/README.md +19 -0
- aden_tools/tools/openmeteo_tool/__init__.py +3 -0
- aden_tools/tools/openmeteo_tool/openmeteo_tool.py +99 -0
- aden_tools/tools/pagerduty_tool/README.md +62 -0
- aden_tools/tools/pagerduty_tool/__init__.py +5 -0
- aden_tools/tools/pagerduty_tool/pagerduty_tool.py +410 -0
- aden_tools/tools/pdf_read_tool/README.md +37 -0
- aden_tools/tools/pdf_read_tool/__init__.py +5 -0
- aden_tools/tools/pdf_read_tool/pdf_read_tool.py +510 -0
- aden_tools/tools/pinecone_tool/README.md +127 -0
- aden_tools/tools/pinecone_tool/__init__.py +5 -0
- aden_tools/tools/pinecone_tool/pinecone_tool.py +459 -0
- aden_tools/tools/pipedrive_tool/README.md +72 -0
- aden_tools/tools/pipedrive_tool/__init__.py +5 -0
- aden_tools/tools/pipedrive_tool/pipedrive_tool.py +743 -0
- aden_tools/tools/plaid_tool/README.md +57 -0
- aden_tools/tools/plaid_tool/__init__.py +5 -0
- aden_tools/tools/plaid_tool/plaid_tool.py +366 -0
- aden_tools/tools/port_scanner/README.md +118 -0
- aden_tools/tools/port_scanner/__init__.py +5 -0
- aden_tools/tools/port_scanner/port_scanner.py +278 -0
- aden_tools/tools/postgres_tool/README.md +161 -0
- aden_tools/tools/postgres_tool/__init__.py +3 -0
- aden_tools/tools/postgres_tool/postgres_tool.py +752 -0
- aden_tools/tools/powerbi_tool/README.md +56 -0
- aden_tools/tools/powerbi_tool/__init__.py +5 -0
- aden_tools/tools/powerbi_tool/powerbi_tool.py +238 -0
- aden_tools/tools/prometheus_tool/README.md +158 -0
- aden_tools/tools/prometheus_tool/__init__.py +5 -0
- aden_tools/tools/prometheus_tool/prometheus_tool.py +260 -0
- aden_tools/tools/pushover_tool/README.md +79 -0
- aden_tools/tools/pushover_tool/__init__.py +5 -0
- aden_tools/tools/pushover_tool/pushover_tool.py +365 -0
- aden_tools/tools/pushover_tool/tests/__init__.py +0 -0
- aden_tools/tools/pushover_tool/tests/test_pushover_tool.py +88 -0
- aden_tools/tools/quickbooks_tool/README.md +61 -0
- aden_tools/tools/quickbooks_tool/__init__.py +5 -0
- aden_tools/tools/quickbooks_tool/quickbooks_tool.py +409 -0
- aden_tools/tools/razorpay_tool/README.md +183 -0
- aden_tools/tools/razorpay_tool/__init__.py +3 -0
- aden_tools/tools/razorpay_tool/razorpay_tool.py +548 -0
- aden_tools/tools/reddit_tool/README.md +338 -0
- aden_tools/tools/reddit_tool/__init__.py +5 -0
- aden_tools/tools/reddit_tool/reddit_tool.py +440 -0
- aden_tools/tools/redis_tool/README.md +96 -0
- aden_tools/tools/redis_tool/__init__.py +5 -0
- aden_tools/tools/redis_tool/redis_tool.py +341 -0
- aden_tools/tools/redshift_tool/README.md +563 -0
- aden_tools/tools/redshift_tool/__init__.py +5 -0
- aden_tools/tools/redshift_tool/redshift_tool.py +299 -0
- aden_tools/tools/risk_scorer/README.md +156 -0
- aden_tools/tools/risk_scorer/__init__.py +5 -0
- aden_tools/tools/risk_scorer/risk_scorer.py +281 -0
- aden_tools/tools/salesforce_tool/README.md +66 -0
- aden_tools/tools/salesforce_tool/__init__.py +5 -0
- aden_tools/tools/salesforce_tool/salesforce_tool.py +457 -0
- aden_tools/tools/sap_tool/README.md +56 -0
- aden_tools/tools/sap_tool/__init__.py +5 -0
- aden_tools/tools/sap_tool/sap_tool.py +311 -0
- aden_tools/tools/senders_tool/__init__.py +3 -0
- aden_tools/tools/senders_tool/senders_tool.py +745 -0
- aden_tools/tools/serpapi_tool/README.md +77 -0
- aden_tools/tools/serpapi_tool/__init__.py +5 -0
- aden_tools/tools/serpapi_tool/serpapi_tool.py +728 -0
- aden_tools/tools/shopify_tool/README.md +135 -0
- aden_tools/tools/shopify_tool/__init__.py +5 -0
- aden_tools/tools/shopify_tool/shopify_tool.py +675 -0
- aden_tools/tools/similarweb_tool/README.md +152 -0
- aden_tools/tools/similarweb_tool/__init__.py +3 -0
- aden_tools/tools/similarweb_tool/similarweb_tool.py +559 -0
- aden_tools/tools/slack_tool/README.md +127 -0
- aden_tools/tools/slack_tool/__init__.py +5 -0
- aden_tools/tools/slack_tool/slack_tool.py +3108 -0
- aden_tools/tools/snowflake_tool/README.md +111 -0
- aden_tools/tools/snowflake_tool/__init__.py +5 -0
- aden_tools/tools/snowflake_tool/snowflake_tool.py +155 -0
- aden_tools/tools/ssl_tls_scanner/README.md +96 -0
- aden_tools/tools/ssl_tls_scanner/__init__.py +5 -0
- aden_tools/tools/ssl_tls_scanner/ssl_tls_scanner.py +244 -0
- aden_tools/tools/stripe_tool/README.md +233 -0
- aden_tools/tools/stripe_tool/__init__.py +3 -0
- aden_tools/tools/stripe_tool/stripe_tool.py +2772 -0
- aden_tools/tools/subdomain_enumerator/README.md +110 -0
- aden_tools/tools/subdomain_enumerator/__init__.py +5 -0
- aden_tools/tools/subdomain_enumerator/subdomain_enumerator.py +179 -0
- aden_tools/tools/supabase_tool/README.md +131 -0
- aden_tools/tools/supabase_tool/__init__.py +5 -0
- aden_tools/tools/supabase_tool/supabase_tool.py +404 -0
- aden_tools/tools/tech_stack_detector/README.md +122 -0
- aden_tools/tools/tech_stack_detector/__init__.py +5 -0
- aden_tools/tools/tech_stack_detector/tech_stack_detector.py +422 -0
- aden_tools/tools/telegram_tool/README.md +124 -0
- aden_tools/tools/telegram_tool/__init__.py +9 -0
- aden_tools/tools/telegram_tool/telegram_tool.py +835 -0
- aden_tools/tools/terraform_tool/README.md +57 -0
- aden_tools/tools/terraform_tool/__init__.py +5 -0
- aden_tools/tools/terraform_tool/terraform_tool.py +270 -0
- aden_tools/tools/time_tool/README.md +47 -0
- aden_tools/tools/time_tool/__init__.py +5 -0
- aden_tools/tools/time_tool/time_tool.py +55 -0
- aden_tools/tools/tines_tool/README.md +55 -0
- aden_tools/tools/tines_tool/__init__.py +5 -0
- aden_tools/tools/tines_tool/tines_tool.py +242 -0
- aden_tools/tools/trello_tool/README.md +188 -0
- aden_tools/tools/trello_tool/__init__.py +5 -0
- aden_tools/tools/trello_tool/trello_client.py +229 -0
- aden_tools/tools/trello_tool/trello_tool.py +376 -0
- aden_tools/tools/twilio_tool/README.md +111 -0
- aden_tools/tools/twilio_tool/__init__.py +5 -0
- aden_tools/tools/twilio_tool/twilio_tool.py +352 -0
- aden_tools/tools/twitter_tool/README.md +108 -0
- aden_tools/tools/twitter_tool/__init__.py +5 -0
- aden_tools/tools/twitter_tool/twitter_tool.py +357 -0
- aden_tools/tools/vercel_tool/README.md +106 -0
- aden_tools/tools/vercel_tool/__init__.py +5 -0
- aden_tools/tools/vercel_tool/vercel_tool.py +336 -0
- aden_tools/tools/vision_tool/README.md +149 -0
- aden_tools/tools/vision_tool/__init__.py +5 -0
- aden_tools/tools/vision_tool/vision_tool.py +522 -0
- aden_tools/tools/wandb_tool/README.md +94 -0
- aden_tools/tools/wandb_tool/__init__.py +5 -0
- aden_tools/tools/wandb_tool/wandb_tool.py +437 -0
- aden_tools/tools/web_scrape_tool/README.md +51 -0
- aden_tools/tools/web_scrape_tool/__init__.py +5 -0
- aden_tools/tools/web_scrape_tool/web_scrape_tool.py +475 -0
- aden_tools/tools/web_search_tool/README.md +64 -0
- aden_tools/tools/web_search_tool/__init__.py +5 -0
- aden_tools/tools/web_search_tool/web_search_tool.py +235 -0
- aden_tools/tools/wikipedia_tool/README.md +54 -0
- aden_tools/tools/wikipedia_tool/__init__.py +3 -0
- aden_tools/tools/wikipedia_tool/wikipedia_tool.py +88 -0
- aden_tools/tools/yahoo_finance_tool/README.md +118 -0
- aden_tools/tools/yahoo_finance_tool/__init__.py +5 -0
- aden_tools/tools/yahoo_finance_tool/yahoo_finance_tool.py +232 -0
- aden_tools/tools/youtube_tool/README.md +130 -0
- aden_tools/tools/youtube_tool/__init__.py +5 -0
- aden_tools/tools/youtube_tool/youtube_tool.py +563 -0
- aden_tools/tools/youtube_transcript_tool/README.md +110 -0
- aden_tools/tools/youtube_transcript_tool/__init__.py +5 -0
- aden_tools/tools/youtube_transcript_tool/youtube_transcript_tool.py +110 -0
- aden_tools/tools/zendesk_tool/README.md +134 -0
- aden_tools/tools/zendesk_tool/__init__.py +5 -0
- aden_tools/tools/zendesk_tool/zendesk_tool.py +420 -0
- aden_tools/tools/zoho_crm_tool/README.md +204 -0
- aden_tools/tools/zoho_crm_tool/__init__.py +5 -0
- aden_tools/tools/zoho_crm_tool/zoho_crm_tool.py +333 -0
- aden_tools/tools/zoom_tool/README.md +130 -0
- aden_tools/tools/zoom_tool/__init__.py +5 -0
- aden_tools/tools/zoom_tool/zoom_tool.py +630 -0
- aden_tools/utils/__init__.py +7 -0
- aden_tools/utils/attachments.py +144 -0
- aden_tools/utils/env_helpers.py +32 -0
- aden_tools-1.0.2.dist-info/METADATA +307 -0
- aden_tools-1.0.2.dist-info/RECORD +505 -0
- aden_tools-1.0.2.dist-info/WHEEL +4 -0
- aden_tools-1.0.2.dist-info/entry_points.txt +2 -0
- chart_tools/__init__.py +35 -0
- chart_tools/renderer.py +386 -0
- chart_tools/server.py +148 -0
- chart_tools/static/echarts.min.js +45 -0
- chart_tools/static/mermaid.min.js +2314 -0
- chart_tools/theme.py +183 -0
- chart_tools/tools.py +308 -0
- gcu/__init__.py +77 -0
- gcu/bridge_host.py +481 -0
- gcu/browser/__init__.py +80 -0
- gcu/browser/bridge.py +6442 -0
- gcu/browser/bridge_rpc.py +867 -0
- gcu/browser/health.py +490 -0
- gcu/browser/hooks/__init__.py +0 -0
- gcu/browser/hooks/rate_limit_hook.py +250 -0
- gcu/browser/identity.py +64 -0
- gcu/browser/refs.py +183 -0
- gcu/browser/session.py +76 -0
- gcu/browser/telemetry.py +347 -0
- gcu/browser/tools/__init__.py +31 -0
- gcu/browser/tools/advanced.py +569 -0
- gcu/browser/tools/inspection.py +960 -0
- gcu/browser/tools/interact.py +1012 -0
- gcu/browser/tools/interactions.py +1045 -0
- gcu/browser/tools/lifecycle.py +945 -0
- gcu/browser/tools/navigation.py +293 -0
- gcu/browser/tools/script.py +668 -0
- gcu/browser/tools/tabs.py +397 -0
- gcu/cli.py +384 -0
- gcu/cli_commands/__init__.py +9 -0
- gcu/cli_commands/capture.py +52 -0
- gcu/cli_commands/dialog.py +52 -0
- gcu/cli_commands/evaluate.py +67 -0
- gcu/cli_commands/interact.py +300 -0
- gcu/cli_commands/lifecycle.py +127 -0
- gcu/cli_commands/nav.py +242 -0
- gcu/cli_commands/page.py +201 -0
- gcu/cli_commands/script.py +69 -0
- gcu/cli_commands/tab.py +146 -0
- gcu/errors.py +174 -0
- gcu/files/__init__.py +22 -0
- gcu/files/tools.py +5 -0
- gcu/memtrace.py +137 -0
- gcu/server.py +353 -0
- memory_tools/__init__.py +29 -0
- memory_tools/enrich.py +414 -0
- memory_tools/index.py +582 -0
- memory_tools/locate.py +337 -0
- memory_tools/paths.py +183 -0
- memory_tools/recall.py +225 -0
- memory_tools/server.py +70 -0
- memory_tools/timeline.py +147 -0
- memory_tools/tool.py +351 -0
- terminal_tools/__init__.py +43 -0
- terminal_tools/common/__init__.py +0 -0
- terminal_tools/common/command_guard.py +118 -0
- terminal_tools/common/destructive_warning.py +72 -0
- terminal_tools/common/limits.py +308 -0
- terminal_tools/common/output_store.py +121 -0
- terminal_tools/common/process_tree.py +82 -0
- terminal_tools/common/ring_buffer.py +155 -0
- terminal_tools/common/ripgrep.py +120 -0
- terminal_tools/common/semantic_exit.py +103 -0
- terminal_tools/common/truncation.py +105 -0
- terminal_tools/common/windows_job.py +119 -0
- terminal_tools/exec.py +354 -0
- terminal_tools/jobs/__init__.py +6 -0
- terminal_tools/jobs/manager.py +458 -0
- terminal_tools/jobs/tools.py +288 -0
- terminal_tools/output.py +41 -0
- terminal_tools/pty/__init__.py +5 -0
- terminal_tools/pty/session.py +367 -0
- terminal_tools/pty/tools.py +249 -0
- terminal_tools/search/__init__.py +5 -0
- terminal_tools/search/glob_match.py +45 -0
- terminal_tools/search/tools.py +560 -0
- terminal_tools/server.py +175 -0
aden_tools/__init__.py
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Aden Tools - Tool library for the Aden agent framework.
|
|
3
|
+
|
|
4
|
+
Tools provide capabilities that AI agents can use to interact with
|
|
5
|
+
external systems, process data, and perform actions.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
from fastmcp import FastMCP
|
|
9
|
+
from aden_tools.tools import register_all_tools
|
|
10
|
+
from aden_tools.credentials import CredentialStoreAdapter
|
|
11
|
+
|
|
12
|
+
mcp = FastMCP("my-server")
|
|
13
|
+
credentials = CredentialStoreAdapter.default()
|
|
14
|
+
register_all_tools(mcp, credentials=credentials)
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
__version__ = "0.1.0"
|
|
18
|
+
|
|
19
|
+
# Credential management (no external dependencies)
|
|
20
|
+
from .credentials import (
|
|
21
|
+
CREDENTIAL_SPECS,
|
|
22
|
+
CredentialError,
|
|
23
|
+
CredentialSpec,
|
|
24
|
+
CredentialStoreAdapter,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
# Utilities (no external dependencies)
|
|
28
|
+
from .utils import get_env_var
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def __getattr__(name: str):
|
|
32
|
+
"""Lazy import for tools that require fastmcp."""
|
|
33
|
+
if name == "register_all_tools":
|
|
34
|
+
from .tools import register_all_tools
|
|
35
|
+
|
|
36
|
+
return register_all_tools
|
|
37
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
__all__ = [
|
|
41
|
+
# Version
|
|
42
|
+
"__version__",
|
|
43
|
+
# Utilities
|
|
44
|
+
"get_env_var",
|
|
45
|
+
# Credentials
|
|
46
|
+
"CredentialStoreAdapter",
|
|
47
|
+
"CredentialSpec",
|
|
48
|
+
"CredentialError",
|
|
49
|
+
"CREDENTIAL_SPECS",
|
|
50
|
+
# MCP registration (lazy loaded)
|
|
51
|
+
"register_all_tools",
|
|
52
|
+
]
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Centralized credential management for Aden Tools.
|
|
3
|
+
|
|
4
|
+
Provides agent-aware validation, clear error messages, and testability.
|
|
5
|
+
|
|
6
|
+
Philosophy: Google Strictness + Apple UX
|
|
7
|
+
- Validate credentials before running an agent (fail-fast at the right boundary)
|
|
8
|
+
- Guided error messages with clear next steps
|
|
9
|
+
|
|
10
|
+
Usage:
|
|
11
|
+
from aden_tools.credentials import CredentialStoreAdapter
|
|
12
|
+
from framework.credentials import CredentialStore
|
|
13
|
+
|
|
14
|
+
# With encrypted storage (production)
|
|
15
|
+
store = CredentialStore.with_encrypted_storage() # defaults to ~/.hive/credentials
|
|
16
|
+
credentials = CredentialStoreAdapter(store)
|
|
17
|
+
|
|
18
|
+
# With composite storage (encrypted primary + env fallback)
|
|
19
|
+
credentials = CredentialStoreAdapter.default()
|
|
20
|
+
|
|
21
|
+
# In agent runner (validate at agent load time)
|
|
22
|
+
credentials.validate_for_tools(["web_search", "file_read"])
|
|
23
|
+
|
|
24
|
+
# In tools
|
|
25
|
+
api_key = credentials.get("brave_search")
|
|
26
|
+
|
|
27
|
+
# In tests
|
|
28
|
+
creds = CredentialStoreAdapter.for_testing({"brave_search": "test-key"})
|
|
29
|
+
|
|
30
|
+
# Template resolution
|
|
31
|
+
headers = credentials.resolve_headers({
|
|
32
|
+
"Authorization": "Bearer {{github_oauth.access_token}}"
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
Credential categories:
|
|
36
|
+
- search.py: Search tool credentials (brave_search, google_search, etc.)
|
|
37
|
+
- email.py: Email provider credentials (resend, google/gmail)
|
|
38
|
+
- apollo.py: Apollo.io API credentials
|
|
39
|
+
- brevo.py: Brevo (Sendinblue) transactional email/SMS credentials
|
|
40
|
+
- discord.py: Discord bot credentials
|
|
41
|
+
- github.py: GitHub API credentials
|
|
42
|
+
- google_analytics.py: Google Analytics 4 Data API credentials
|
|
43
|
+
- google_maps.py: Google Maps Platform credentials
|
|
44
|
+
- hubspot.py: HubSpot CRM credentials
|
|
45
|
+
- intercom.py: Intercom customer messaging credentials
|
|
46
|
+
- postgres.py: PostgreSQL database credentials
|
|
47
|
+
- slack.py: Slack workspace credentials
|
|
48
|
+
- stripe.py: Stripe payments API credentials
|
|
49
|
+
- calcom.py: Cal.com scheduling API credentials
|
|
50
|
+
|
|
51
|
+
Note: Tools that don't need credentials simply omit the 'credentials' parameter
|
|
52
|
+
from their register_tools() function. This convention is enforced by CI tests.
|
|
53
|
+
|
|
54
|
+
To add a new credential:
|
|
55
|
+
1. Find the appropriate category file (or create a new one)
|
|
56
|
+
2. Add the CredentialSpec to that file's dictionary
|
|
57
|
+
3. If new category, import and merge it in this __init__.py
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
from .airtable import AIRTABLE_CREDENTIALS
|
|
61
|
+
from .apify import APIFY_CREDENTIALS
|
|
62
|
+
from .apollo import APOLLO_CREDENTIALS
|
|
63
|
+
from .asana import ASANA_CREDENTIALS
|
|
64
|
+
from .attio import ATTIO_CREDENTIALS
|
|
65
|
+
from .aws_s3 import AWS_S3_CREDENTIALS
|
|
66
|
+
from .azure_sql import AZURE_SQL_CREDENTIALS
|
|
67
|
+
from .base import CredentialError, CredentialSpec
|
|
68
|
+
from .bigquery import BIGQUERY_CREDENTIALS
|
|
69
|
+
from .brevo import BREVO_CREDENTIALS
|
|
70
|
+
from .browser import get_aden_auth_url, get_aden_setup_url, open_browser
|
|
71
|
+
from .calcom import CALCOM_CREDENTIALS
|
|
72
|
+
from .calendly import CALENDLY_CREDENTIALS
|
|
73
|
+
from .cloudflare import CLOUDFLARE_CREDENTIALS
|
|
74
|
+
from .cloudinary import CLOUDINARY_CREDENTIALS
|
|
75
|
+
from .confluence import CONFLUENCE_CREDENTIALS
|
|
76
|
+
from .databricks import DATABRICKS_CREDENTIALS
|
|
77
|
+
from .discord import DISCORD_CREDENTIALS
|
|
78
|
+
from .docker_hub import DOCKER_HUB_CREDENTIALS
|
|
79
|
+
from .email import EMAIL_CREDENTIALS
|
|
80
|
+
from .freshdesk import FRESHDESK_CREDENTIALS
|
|
81
|
+
from .gcp_vision import GCP_VISION_CREDENTIALS
|
|
82
|
+
from .github import GITHUB_CREDENTIALS
|
|
83
|
+
from .gitlab import GITLAB_CREDENTIALS
|
|
84
|
+
from .google_analytics import GOOGLE_ANALYTICS_CREDENTIALS
|
|
85
|
+
from .google_maps import GOOGLE_MAPS_CREDENTIALS
|
|
86
|
+
from .google_search_console import GOOGLE_SEARCH_CONSOLE_CREDENTIALS
|
|
87
|
+
from .greenhouse import GREENHOUSE_CREDENTIALS
|
|
88
|
+
from .health_check import (
|
|
89
|
+
HealthCheckResult,
|
|
90
|
+
check_credential_health,
|
|
91
|
+
)
|
|
92
|
+
from .hubspot import HUBSPOT_CREDENTIALS
|
|
93
|
+
from .huggingface import HUGGINGFACE_CREDENTIALS
|
|
94
|
+
from .intercom import INTERCOM_CREDENTIALS
|
|
95
|
+
from .jira import JIRA_CREDENTIALS
|
|
96
|
+
from .kafka import KAFKA_CREDENTIALS
|
|
97
|
+
from .langfuse import LANGFUSE_CREDENTIALS
|
|
98
|
+
from .linear import LINEAR_CREDENTIALS
|
|
99
|
+
from .lusha import LUSHA_CREDENTIALS
|
|
100
|
+
from .mattermost import MATTERMOST_CREDENTIALS
|
|
101
|
+
from .microsoft_graph import MICROSOFT_GRAPH_CREDENTIALS
|
|
102
|
+
from .mongodb import MONGODB_CREDENTIALS
|
|
103
|
+
from .n8n import N8N_CREDENTIALS
|
|
104
|
+
from .news import NEWS_CREDENTIALS
|
|
105
|
+
from .notion import NOTION_CREDENTIALS
|
|
106
|
+
from .obsidian import OBSIDIAN_CREDENTIALS
|
|
107
|
+
from .pagerduty import PAGERDUTY_CREDENTIALS
|
|
108
|
+
from .pinecone import PINECONE_CREDENTIALS
|
|
109
|
+
from .pipedrive import PIPEDRIVE_CREDENTIALS
|
|
110
|
+
from .plaid import PLAID_CREDENTIALS
|
|
111
|
+
from .postgres import POSTGRES_CREDENTIALS
|
|
112
|
+
from .powerbi import POWERBI_CREDENTIALS
|
|
113
|
+
from .prometheus import PROMETHEUS_CREDENTIALS
|
|
114
|
+
from .pushover import PUSHOVER_CREDENTIALS
|
|
115
|
+
from .quickbooks import QUICKBOOKS_CREDENTIALS
|
|
116
|
+
from .razorpay import RAZORPAY_CREDENTIALS
|
|
117
|
+
from .reddit import REDDIT_CREDENTIALS
|
|
118
|
+
from .redis import REDIS_CREDENTIALS
|
|
119
|
+
from .redshift import REDSHIFT_CREDENTIALS
|
|
120
|
+
from .salesforce import SALESFORCE_CREDENTIALS
|
|
121
|
+
from .sap import SAP_CREDENTIALS
|
|
122
|
+
from .search import SEARCH_CREDENTIALS
|
|
123
|
+
from .serpapi import SERPAPI_CREDENTIALS
|
|
124
|
+
from .shell_config import (
|
|
125
|
+
add_env_var_to_shell_config,
|
|
126
|
+
detect_shell,
|
|
127
|
+
get_shell_config_path,
|
|
128
|
+
get_shell_source_command,
|
|
129
|
+
)
|
|
130
|
+
from .shopify import SHOPIFY_CREDENTIALS
|
|
131
|
+
from .similarweb import SIMILARWEB_CREDENTIALS
|
|
132
|
+
from .slack import SLACK_CREDENTIALS
|
|
133
|
+
from .snowflake import SNOWFLAKE_CREDENTIALS
|
|
134
|
+
from .store_adapter import CredentialStoreAdapter
|
|
135
|
+
from .stripe import STRIPE_CREDENTIALS
|
|
136
|
+
from .supabase import SUPABASE_CREDENTIALS
|
|
137
|
+
from .telegram import TELEGRAM_CREDENTIALS
|
|
138
|
+
from .terraform import TERRAFORM_CREDENTIALS
|
|
139
|
+
from .tines import TINES_CREDENTIALS
|
|
140
|
+
from .trello import TRELLO_CREDENTIALS
|
|
141
|
+
from .twilio import TWILIO_CREDENTIALS
|
|
142
|
+
from .twitter import TWITTER_CREDENTIALS
|
|
143
|
+
from .vercel import VERCEL_CREDENTIALS
|
|
144
|
+
from .wandb import WANDB_CREDENTIALS
|
|
145
|
+
from .youtube import YOUTUBE_CREDENTIALS
|
|
146
|
+
from .zendesk import ZENDESK_CREDENTIALS
|
|
147
|
+
from .zoho_crm import ZOHO_CRM_CREDENTIALS
|
|
148
|
+
from .zoom import ZOOM_CREDENTIALS
|
|
149
|
+
|
|
150
|
+
# Merged registry of all credentials
|
|
151
|
+
CREDENTIAL_SPECS = {
|
|
152
|
+
**AIRTABLE_CREDENTIALS,
|
|
153
|
+
**NEWS_CREDENTIALS,
|
|
154
|
+
**SEARCH_CREDENTIALS,
|
|
155
|
+
**EMAIL_CREDENTIALS,
|
|
156
|
+
**GCP_VISION_CREDENTIALS,
|
|
157
|
+
**APIFY_CREDENTIALS,
|
|
158
|
+
**APOLLO_CREDENTIALS,
|
|
159
|
+
**ASANA_CREDENTIALS,
|
|
160
|
+
**ATTIO_CREDENTIALS,
|
|
161
|
+
**AWS_S3_CREDENTIALS,
|
|
162
|
+
**AZURE_SQL_CREDENTIALS,
|
|
163
|
+
**BIGQUERY_CREDENTIALS,
|
|
164
|
+
**BREVO_CREDENTIALS,
|
|
165
|
+
**CALCOM_CREDENTIALS,
|
|
166
|
+
**CALENDLY_CREDENTIALS,
|
|
167
|
+
**CLOUDFLARE_CREDENTIALS,
|
|
168
|
+
**CLOUDINARY_CREDENTIALS,
|
|
169
|
+
**CONFLUENCE_CREDENTIALS,
|
|
170
|
+
**DATABRICKS_CREDENTIALS,
|
|
171
|
+
**DISCORD_CREDENTIALS,
|
|
172
|
+
**DOCKER_HUB_CREDENTIALS,
|
|
173
|
+
**EMAIL_CREDENTIALS,
|
|
174
|
+
**GCP_VISION_CREDENTIALS,
|
|
175
|
+
**GITHUB_CREDENTIALS,
|
|
176
|
+
**GREENHOUSE_CREDENTIALS,
|
|
177
|
+
**GITLAB_CREDENTIALS,
|
|
178
|
+
**GOOGLE_ANALYTICS_CREDENTIALS,
|
|
179
|
+
**GOOGLE_MAPS_CREDENTIALS,
|
|
180
|
+
**GOOGLE_SEARCH_CONSOLE_CREDENTIALS,
|
|
181
|
+
**HUBSPOT_CREDENTIALS,
|
|
182
|
+
**HUGGINGFACE_CREDENTIALS,
|
|
183
|
+
**INTERCOM_CREDENTIALS,
|
|
184
|
+
**JIRA_CREDENTIALS,
|
|
185
|
+
**KAFKA_CREDENTIALS,
|
|
186
|
+
**LANGFUSE_CREDENTIALS,
|
|
187
|
+
**LINEAR_CREDENTIALS,
|
|
188
|
+
**LUSHA_CREDENTIALS,
|
|
189
|
+
**MATTERMOST_CREDENTIALS,
|
|
190
|
+
**MICROSOFT_GRAPH_CREDENTIALS,
|
|
191
|
+
**MONGODB_CREDENTIALS,
|
|
192
|
+
**N8N_CREDENTIALS,
|
|
193
|
+
**NEWS_CREDENTIALS,
|
|
194
|
+
**NOTION_CREDENTIALS,
|
|
195
|
+
**OBSIDIAN_CREDENTIALS,
|
|
196
|
+
**PAGERDUTY_CREDENTIALS,
|
|
197
|
+
**PINECONE_CREDENTIALS,
|
|
198
|
+
**PIPEDRIVE_CREDENTIALS,
|
|
199
|
+
**PLAID_CREDENTIALS,
|
|
200
|
+
**POSTGRES_CREDENTIALS,
|
|
201
|
+
**POWERBI_CREDENTIALS,
|
|
202
|
+
**PROMETHEUS_CREDENTIALS,
|
|
203
|
+
**PUSHOVER_CREDENTIALS,
|
|
204
|
+
**QUICKBOOKS_CREDENTIALS,
|
|
205
|
+
**RAZORPAY_CREDENTIALS,
|
|
206
|
+
**REDDIT_CREDENTIALS,
|
|
207
|
+
**REDIS_CREDENTIALS,
|
|
208
|
+
**REDSHIFT_CREDENTIALS,
|
|
209
|
+
**SALESFORCE_CREDENTIALS,
|
|
210
|
+
**SAP_CREDENTIALS,
|
|
211
|
+
**SEARCH_CREDENTIALS,
|
|
212
|
+
**SERPAPI_CREDENTIALS,
|
|
213
|
+
**SIMILARWEB_CREDENTIALS,
|
|
214
|
+
**SHOPIFY_CREDENTIALS,
|
|
215
|
+
**SLACK_CREDENTIALS,
|
|
216
|
+
**SNOWFLAKE_CREDENTIALS,
|
|
217
|
+
**STRIPE_CREDENTIALS,
|
|
218
|
+
**SUPABASE_CREDENTIALS,
|
|
219
|
+
**TELEGRAM_CREDENTIALS,
|
|
220
|
+
**TERRAFORM_CREDENTIALS,
|
|
221
|
+
**TINES_CREDENTIALS,
|
|
222
|
+
**TRELLO_CREDENTIALS,
|
|
223
|
+
**TWILIO_CREDENTIALS,
|
|
224
|
+
**TWITTER_CREDENTIALS,
|
|
225
|
+
**VERCEL_CREDENTIALS,
|
|
226
|
+
**YOUTUBE_CREDENTIALS,
|
|
227
|
+
**WANDB_CREDENTIALS,
|
|
228
|
+
**ZENDESK_CREDENTIALS,
|
|
229
|
+
**ZOHO_CRM_CREDENTIALS,
|
|
230
|
+
**ZOOM_CREDENTIALS,
|
|
231
|
+
**FRESHDESK_CREDENTIALS,
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
__all__ = [
|
|
235
|
+
# Core classes
|
|
236
|
+
"CredentialSpec",
|
|
237
|
+
"CredentialStoreAdapter",
|
|
238
|
+
"CredentialError",
|
|
239
|
+
# Health check utilities
|
|
240
|
+
"HealthCheckResult",
|
|
241
|
+
"check_credential_health",
|
|
242
|
+
# Browser utilities for OAuth2 flows
|
|
243
|
+
"open_browser",
|
|
244
|
+
"get_aden_auth_url",
|
|
245
|
+
"get_aden_setup_url",
|
|
246
|
+
# Shell config utilities
|
|
247
|
+
"detect_shell",
|
|
248
|
+
"get_shell_config_path",
|
|
249
|
+
"get_shell_source_command",
|
|
250
|
+
"add_env_var_to_shell_config",
|
|
251
|
+
# Merged registry
|
|
252
|
+
"CREDENTIAL_SPECS",
|
|
253
|
+
# Category registries
|
|
254
|
+
"AIRTABLE_CREDENTIALS",
|
|
255
|
+
"APIFY_CREDENTIALS",
|
|
256
|
+
"APOLLO_CREDENTIALS",
|
|
257
|
+
"ASANA_CREDENTIALS",
|
|
258
|
+
"ATTIO_CREDENTIALS",
|
|
259
|
+
"AWS_S3_CREDENTIALS",
|
|
260
|
+
"AZURE_SQL_CREDENTIALS",
|
|
261
|
+
"BIGQUERY_CREDENTIALS",
|
|
262
|
+
"BREVO_CREDENTIALS",
|
|
263
|
+
"CALCOM_CREDENTIALS",
|
|
264
|
+
"CALENDLY_CREDENTIALS",
|
|
265
|
+
"CLOUDFLARE_CREDENTIALS",
|
|
266
|
+
"CLOUDINARY_CREDENTIALS",
|
|
267
|
+
"CONFLUENCE_CREDENTIALS",
|
|
268
|
+
"DATABRICKS_CREDENTIALS",
|
|
269
|
+
"DISCORD_CREDENTIALS",
|
|
270
|
+
"DOCKER_HUB_CREDENTIALS",
|
|
271
|
+
"EMAIL_CREDENTIALS",
|
|
272
|
+
"GCP_VISION_CREDENTIALS",
|
|
273
|
+
"GITHUB_CREDENTIALS",
|
|
274
|
+
"GREENHOUSE_CREDENTIALS",
|
|
275
|
+
"GITLAB_CREDENTIALS",
|
|
276
|
+
"GOOGLE_ANALYTICS_CREDENTIALS",
|
|
277
|
+
"GOOGLE_MAPS_CREDENTIALS",
|
|
278
|
+
"GOOGLE_SEARCH_CONSOLE_CREDENTIALS",
|
|
279
|
+
"HUBSPOT_CREDENTIALS",
|
|
280
|
+
"HUGGINGFACE_CREDENTIALS",
|
|
281
|
+
"INTERCOM_CREDENTIALS",
|
|
282
|
+
"JIRA_CREDENTIALS",
|
|
283
|
+
"KAFKA_CREDENTIALS",
|
|
284
|
+
"LANGFUSE_CREDENTIALS",
|
|
285
|
+
"LINEAR_CREDENTIALS",
|
|
286
|
+
"LUSHA_CREDENTIALS",
|
|
287
|
+
"MATTERMOST_CREDENTIALS",
|
|
288
|
+
"MICROSOFT_GRAPH_CREDENTIALS",
|
|
289
|
+
"MONGODB_CREDENTIALS",
|
|
290
|
+
"N8N_CREDENTIALS",
|
|
291
|
+
"NEWS_CREDENTIALS",
|
|
292
|
+
"NOTION_CREDENTIALS",
|
|
293
|
+
"OBSIDIAN_CREDENTIALS",
|
|
294
|
+
"PAGERDUTY_CREDENTIALS",
|
|
295
|
+
"PINECONE_CREDENTIALS",
|
|
296
|
+
"PIPEDRIVE_CREDENTIALS",
|
|
297
|
+
"PLAID_CREDENTIALS",
|
|
298
|
+
"POSTGRES_CREDENTIALS",
|
|
299
|
+
"POWERBI_CREDENTIALS",
|
|
300
|
+
"PROMETHEUS_CREDENTIALS",
|
|
301
|
+
"PUSHOVER_CREDENTIALS",
|
|
302
|
+
"QUICKBOOKS_CREDENTIALS",
|
|
303
|
+
"RAZORPAY_CREDENTIALS",
|
|
304
|
+
"REDDIT_CREDENTIALS",
|
|
305
|
+
"REDIS_CREDENTIALS",
|
|
306
|
+
"REDSHIFT_CREDENTIALS",
|
|
307
|
+
"SALESFORCE_CREDENTIALS",
|
|
308
|
+
"SAP_CREDENTIALS",
|
|
309
|
+
"SEARCH_CREDENTIALS",
|
|
310
|
+
"SERPAPI_CREDENTIALS",
|
|
311
|
+
"SIMILARWEB_CREDENTIALS",
|
|
312
|
+
"SHOPIFY_CREDENTIALS",
|
|
313
|
+
"SLACK_CREDENTIALS",
|
|
314
|
+
"SNOWFLAKE_CREDENTIALS",
|
|
315
|
+
"STRIPE_CREDENTIALS",
|
|
316
|
+
"SUPABASE_CREDENTIALS",
|
|
317
|
+
"TELEGRAM_CREDENTIALS",
|
|
318
|
+
"TERRAFORM_CREDENTIALS",
|
|
319
|
+
"TINES_CREDENTIALS",
|
|
320
|
+
"TRELLO_CREDENTIALS",
|
|
321
|
+
"TWILIO_CREDENTIALS",
|
|
322
|
+
"TWITTER_CREDENTIALS",
|
|
323
|
+
"VERCEL_CREDENTIALS",
|
|
324
|
+
"WANDB_CREDENTIALS",
|
|
325
|
+
"YOUTUBE_CREDENTIALS",
|
|
326
|
+
"ZENDESK_CREDENTIALS",
|
|
327
|
+
"ZOHO_CRM_CREDENTIALS",
|
|
328
|
+
"ZOOM_CREDENTIALS",
|
|
329
|
+
"FRESHDESK_CREDENTIALS",
|
|
330
|
+
]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Airtable credentials.
|
|
3
|
+
|
|
4
|
+
Contains credentials for the Airtable Web API.
|
|
5
|
+
Requires AIRTABLE_PAT (Personal Access Token).
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from .base import CredentialSpec
|
|
9
|
+
|
|
10
|
+
AIRTABLE_CREDENTIALS = {
|
|
11
|
+
"airtable_pat": CredentialSpec(
|
|
12
|
+
env_var="AIRTABLE_PAT",
|
|
13
|
+
tools=[
|
|
14
|
+
"airtable_list_records",
|
|
15
|
+
"airtable_get_record",
|
|
16
|
+
"airtable_create_records",
|
|
17
|
+
"airtable_update_records",
|
|
18
|
+
"airtable_list_bases",
|
|
19
|
+
"airtable_get_base_schema",
|
|
20
|
+
"airtable_delete_records",
|
|
21
|
+
"airtable_search_records",
|
|
22
|
+
"airtable_list_collaborators",
|
|
23
|
+
],
|
|
24
|
+
required=True,
|
|
25
|
+
startup_required=False,
|
|
26
|
+
help_url="https://airtable.com/create/tokens",
|
|
27
|
+
description="Airtable Personal Access Token",
|
|
28
|
+
direct_api_key_supported=True,
|
|
29
|
+
api_key_instructions="""To set up Airtable API access:
|
|
30
|
+
1. Go to https://airtable.com/create/tokens
|
|
31
|
+
2. Create a new Personal Access Token
|
|
32
|
+
3. Grant scopes: data.records:read, data.records:write, schema.bases:read
|
|
33
|
+
4. Select the bases to grant access to
|
|
34
|
+
5. Set environment variable:
|
|
35
|
+
export AIRTABLE_PAT=your-personal-access-token""",
|
|
36
|
+
health_check_endpoint="",
|
|
37
|
+
credential_id="airtable_pat",
|
|
38
|
+
credential_key="api_key",
|
|
39
|
+
),
|
|
40
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Apify credentials.
|
|
3
|
+
|
|
4
|
+
Contains credentials for Apify web scraping and automation platform.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .base import CredentialSpec
|
|
8
|
+
|
|
9
|
+
APIFY_CREDENTIALS = {
|
|
10
|
+
"apify": CredentialSpec(
|
|
11
|
+
env_var="APIFY_API_TOKEN",
|
|
12
|
+
tools=[
|
|
13
|
+
"apify_run_actor",
|
|
14
|
+
"apify_get_run",
|
|
15
|
+
"apify_get_dataset_items",
|
|
16
|
+
"apify_list_actors",
|
|
17
|
+
"apify_list_runs",
|
|
18
|
+
"apify_get_kv_store_record",
|
|
19
|
+
],
|
|
20
|
+
required=True,
|
|
21
|
+
startup_required=False,
|
|
22
|
+
help_url="https://docs.apify.com/api/v2",
|
|
23
|
+
description="Apify API token for running web scraping actors and retrieving datasets",
|
|
24
|
+
direct_api_key_supported=True,
|
|
25
|
+
api_key_instructions="""To get an Apify API token:
|
|
26
|
+
1. Go to https://console.apify.com/account/integrations
|
|
27
|
+
2. Copy your personal API token
|
|
28
|
+
3. Set the environment variable:
|
|
29
|
+
export APIFY_API_TOKEN=your-api-token""",
|
|
30
|
+
health_check_endpoint="https://api.apify.com/v2/users/me",
|
|
31
|
+
credential_id="apify",
|
|
32
|
+
credential_key="api_key",
|
|
33
|
+
),
|
|
34
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Apollo.io tool credentials.
|
|
3
|
+
|
|
4
|
+
Contains credentials for Apollo.io API integration.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .base import CredentialSpec
|
|
8
|
+
|
|
9
|
+
APOLLO_CREDENTIALS = {
|
|
10
|
+
"apollo": CredentialSpec(
|
|
11
|
+
env_var="APOLLO_API_KEY",
|
|
12
|
+
tools=[
|
|
13
|
+
"apollo_enrich_person",
|
|
14
|
+
"apollo_enrich_company",
|
|
15
|
+
"apollo_search_people",
|
|
16
|
+
"apollo_search_companies",
|
|
17
|
+
"apollo_get_person_activities",
|
|
18
|
+
"apollo_list_email_accounts",
|
|
19
|
+
"apollo_bulk_enrich_people",
|
|
20
|
+
],
|
|
21
|
+
required=True,
|
|
22
|
+
startup_required=False,
|
|
23
|
+
help_url="https://apolloio.github.io/apollo-api-docs/",
|
|
24
|
+
description="Apollo.io API key for contact and company data enrichment",
|
|
25
|
+
# Auth method support
|
|
26
|
+
aden_supported=False,
|
|
27
|
+
direct_api_key_supported=True,
|
|
28
|
+
api_key_instructions="""To get an Apollo.io API key:
|
|
29
|
+
1. Sign up or log in at https://app.apollo.io/
|
|
30
|
+
2. Go to Settings > Integrations > API
|
|
31
|
+
3. Click "Connect" to generate your API key
|
|
32
|
+
4. Copy the API key
|
|
33
|
+
|
|
34
|
+
Note: Apollo uses export credits for enrichment:
|
|
35
|
+
- Free plan: 10 credits/month
|
|
36
|
+
- Basic ($49/user/mo): 1,000 credits/month
|
|
37
|
+
- Professional ($79/user/mo): 2,000 credits/month
|
|
38
|
+
- Overage: $0.20/credit""",
|
|
39
|
+
# Health check configuration
|
|
40
|
+
health_check_endpoint="https://api.apollo.io/v1/auth/health",
|
|
41
|
+
health_check_method="GET",
|
|
42
|
+
# Credential store mapping
|
|
43
|
+
credential_id="apollo",
|
|
44
|
+
credential_key="api_key",
|
|
45
|
+
),
|
|
46
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Asana credentials.
|
|
3
|
+
|
|
4
|
+
Contains credentials for Asana task and project management.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .base import CredentialSpec
|
|
8
|
+
|
|
9
|
+
ASANA_CREDENTIALS = {
|
|
10
|
+
"asana": CredentialSpec(
|
|
11
|
+
env_var="ASANA_ACCESS_TOKEN",
|
|
12
|
+
tools=[
|
|
13
|
+
"asana_list_workspaces",
|
|
14
|
+
"asana_list_projects",
|
|
15
|
+
"asana_list_tasks",
|
|
16
|
+
"asana_get_task",
|
|
17
|
+
"asana_create_task",
|
|
18
|
+
"asana_search_tasks",
|
|
19
|
+
"asana_update_task",
|
|
20
|
+
"asana_add_comment",
|
|
21
|
+
"asana_create_subtask",
|
|
22
|
+
],
|
|
23
|
+
required=True,
|
|
24
|
+
startup_required=False,
|
|
25
|
+
help_url="https://developers.asana.com/docs/personal-access-token",
|
|
26
|
+
description="Asana personal access token for task and project management",
|
|
27
|
+
direct_api_key_supported=True,
|
|
28
|
+
api_key_instructions="""To get an Asana personal access token:
|
|
29
|
+
1. Go to https://app.asana.com/0/my-apps
|
|
30
|
+
2. Click 'Create new token'
|
|
31
|
+
3. Give it a name and copy the token
|
|
32
|
+
4. Set the environment variable:
|
|
33
|
+
export ASANA_ACCESS_TOKEN=your-pat""",
|
|
34
|
+
health_check_endpoint="https://app.asana.com/api/1.0/users/me",
|
|
35
|
+
credential_id="asana",
|
|
36
|
+
credential_key="api_key",
|
|
37
|
+
),
|
|
38
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Attio tool credentials.
|
|
3
|
+
|
|
4
|
+
Contains credentials for Attio CRM integration.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .base import CredentialSpec
|
|
8
|
+
|
|
9
|
+
ATTIO_CREDENTIALS = {
|
|
10
|
+
"attio": CredentialSpec(
|
|
11
|
+
env_var="ATTIO_API_KEY",
|
|
12
|
+
tools=[
|
|
13
|
+
"attio_record_list",
|
|
14
|
+
"attio_record_get",
|
|
15
|
+
"attio_record_create",
|
|
16
|
+
"attio_record_update",
|
|
17
|
+
"attio_record_assert",
|
|
18
|
+
"attio_list_lists",
|
|
19
|
+
"attio_list_entries_get",
|
|
20
|
+
"attio_list_entry_create",
|
|
21
|
+
"attio_list_entry_delete",
|
|
22
|
+
"attio_task_create",
|
|
23
|
+
"attio_task_list",
|
|
24
|
+
"attio_task_get",
|
|
25
|
+
"attio_task_delete",
|
|
26
|
+
"attio_members_list",
|
|
27
|
+
"attio_member_get",
|
|
28
|
+
],
|
|
29
|
+
required=True,
|
|
30
|
+
startup_required=False,
|
|
31
|
+
help_url="https://attio.com/help/apps/other-apps/generating-an-api-key",
|
|
32
|
+
description="Attio API key for CRM integration",
|
|
33
|
+
# Auth method support
|
|
34
|
+
aden_supported=False,
|
|
35
|
+
direct_api_key_supported=True,
|
|
36
|
+
api_key_instructions="""To get an Attio API key:
|
|
37
|
+
1. Go to Attio Settings > Developers > Access tokens
|
|
38
|
+
2. Click "Generate new token"
|
|
39
|
+
3. Name your token (e.g., "Hive Agent")
|
|
40
|
+
4. Select required scopes:
|
|
41
|
+
- record_permission:read-write
|
|
42
|
+
- object_configuration:read
|
|
43
|
+
- list_entry:read-write
|
|
44
|
+
- list_configuration:read
|
|
45
|
+
- task:read-write
|
|
46
|
+
- user_management:read
|
|
47
|
+
5. Copy the generated token""",
|
|
48
|
+
# Health check configuration
|
|
49
|
+
health_check_endpoint="https://api.attio.com/v2/workspace_members",
|
|
50
|
+
health_check_method="GET",
|
|
51
|
+
# Credential store mapping
|
|
52
|
+
credential_id="attio",
|
|
53
|
+
credential_key="api_key",
|
|
54
|
+
),
|
|
55
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""
|
|
2
|
+
AWS S3 credentials.
|
|
3
|
+
|
|
4
|
+
Contains credentials for AWS S3 REST API with SigV4 signing.
|
|
5
|
+
Requires AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from .base import CredentialSpec
|
|
9
|
+
|
|
10
|
+
AWS_S3_CREDENTIALS = {
|
|
11
|
+
"aws_access_key": CredentialSpec(
|
|
12
|
+
env_var="AWS_ACCESS_KEY_ID",
|
|
13
|
+
tools=[
|
|
14
|
+
"s3_list_buckets",
|
|
15
|
+
"s3_list_objects",
|
|
16
|
+
"s3_get_object",
|
|
17
|
+
"s3_put_object",
|
|
18
|
+
"s3_delete_object",
|
|
19
|
+
"s3_copy_object",
|
|
20
|
+
"s3_get_object_metadata",
|
|
21
|
+
"s3_generate_presigned_url",
|
|
22
|
+
],
|
|
23
|
+
required=True,
|
|
24
|
+
startup_required=False,
|
|
25
|
+
help_url="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html",
|
|
26
|
+
description="AWS Access Key ID for S3 API access",
|
|
27
|
+
direct_api_key_supported=True,
|
|
28
|
+
api_key_instructions="""To set up AWS S3 API access:
|
|
29
|
+
1. Go to AWS IAM > Users > Security credentials
|
|
30
|
+
2. Create a new access key
|
|
31
|
+
3. Set environment variables:
|
|
32
|
+
export AWS_ACCESS_KEY_ID=your-access-key-id
|
|
33
|
+
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
|
|
34
|
+
export AWS_REGION=us-east-1""",
|
|
35
|
+
health_check_endpoint="",
|
|
36
|
+
credential_id="aws_access_key",
|
|
37
|
+
credential_key="api_key",
|
|
38
|
+
credential_group="aws",
|
|
39
|
+
),
|
|
40
|
+
"aws_secret_key": CredentialSpec(
|
|
41
|
+
env_var="AWS_SECRET_ACCESS_KEY",
|
|
42
|
+
tools=[
|
|
43
|
+
"s3_list_buckets",
|
|
44
|
+
"s3_list_objects",
|
|
45
|
+
"s3_get_object",
|
|
46
|
+
"s3_put_object",
|
|
47
|
+
"s3_delete_object",
|
|
48
|
+
"s3_copy_object",
|
|
49
|
+
"s3_get_object_metadata",
|
|
50
|
+
"s3_generate_presigned_url",
|
|
51
|
+
],
|
|
52
|
+
required=True,
|
|
53
|
+
startup_required=False,
|
|
54
|
+
help_url="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html",
|
|
55
|
+
description="AWS Secret Access Key for S3 API access",
|
|
56
|
+
direct_api_key_supported=True,
|
|
57
|
+
api_key_instructions="""See AWS_ACCESS_KEY_ID instructions above.""",
|
|
58
|
+
health_check_endpoint="",
|
|
59
|
+
credential_id="aws_secret_key",
|
|
60
|
+
credential_key="api_key",
|
|
61
|
+
credential_group="aws",
|
|
62
|
+
),
|
|
63
|
+
}
|