universal-mcp-applications 0.1.2__tar.gz → 0.1.3__tar.gz
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.
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/PKG-INFO +4 -2
- universal_mcp_applications-0.1.3/examples/children_story_builder.py +146 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/pyproject.toml +5 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/tests/test_applications.py +31 -11
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/aws_s3/app.py +3 -4
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/app.py +3 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/app.py +2 -6
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/app.py +2 -6
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/cal_com_v2/app.py +22 -64
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/app.py +8 -19
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/app.py +9 -27
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/domain-checker → universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker}/app.py +2 -1
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/elevenlabs/app.py +145 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/app.py +1 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/file_system/__init__.py +1 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/file_system/app.py +96 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/app.py +4 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/fixtures.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/helper.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/position_utils.py +0 -1
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/ghost-content → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ghost_content}/app.py +2 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/app.py +3 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_calendar/app.py +2 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_docs/app.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_drive/app.py +2 -1
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini/app.py +183 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_mail/app.py +2 -1
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/google-searchconsole → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole}/app.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_sheet/app.py +2 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_sheet/helper.py +156 -116
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/app.py +1 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/http-tools → universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools}/app.py +2 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/app.py +4 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/app.py +7 -18
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/app.py +2 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ms_teams/app.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/app.py +2 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/app.py +1 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/app.py +2 -6
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/app.py +1 -2
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/app.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/README.md +20 -20
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/app.py +40 -40
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sharepoint/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/app.py +1 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/slack/app.py +3 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/app.py +9 -27
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio/__init__.py +1 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/twillo → universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio}/app.py +2 -2
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/README.md +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +2 -2
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/lists_api.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/app.py +5 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/app.py +18 -17
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/audio.py +110 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/whatsapp.py +398 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp_business/app.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/app.py +195 -191
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/app.py +1 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/uv.lock +27 -5
- universal_mcp_applications-0.1.2/src/universal_mcp/applications/elevenlabs/app.py +0 -3235
- universal_mcp_applications-0.1.2/src/universal_mcp/applications/google-ads/__init__.py +0 -1
- universal_mcp_applications-0.1.2/src/universal_mcp/applications/google-ads/app.py +0 -23
- universal_mcp_applications-0.1.2/src/universal_mcp/applications/google_gemini/app.py +0 -663
- universal_mcp_applications-0.1.2/src/universal_mcp/applications/twillo/README.md +0 -0
- universal_mcp_applications-0.1.2/src/universal_mcp/applications/twillo/__init__.py +0 -1
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/.gitignore +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/LICENSE +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/bump_and_release.sh +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/aws_s3/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/aws_s3/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/cal_com_v2/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/__init__.py +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/domain-checker → universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker}/README.md +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/domain-checker → universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker}/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/elevenlabs/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/elevenlabs/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/league_utils.py +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/ghost-content → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ghost_content}/README.md +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/ghost-content → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ghost_content}/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_calendar/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_calendar/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_docs/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_docs/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_drive/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_drive/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_gemini/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_gemini/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_mail/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_mail/__init__.py +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/google-searchconsole → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole}/README.md +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/google-searchconsole → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole}/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_sheet/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/google_sheet/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/app.py +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/http-tools → universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools}/README.md +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/http-tools → universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools}/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ms_teams/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ms_teams/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/app.py +3 -3
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/app.py +2 -2
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/google-ads → universal_mcp_applications-0.1.3/src/universal_mcp/applications/sharepoint}/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sharepoint/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/app.py +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/sharepoint → universal_mcp_applications-0.1.3/src/universal_mcp/applications/slack}/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/slack/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/__init__.py +0 -0
- {universal_mcp_applications-0.1.2/src/universal_mcp/applications/slack → universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio}/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/api_segment_base.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/dm_events_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/likes_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/openapi_json_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/trends_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/usage_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/users_api.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp_business/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp_business/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/app.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/__init__.py +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/README.md +0 -0
- {universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: universal-mcp-applications
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: A Universal MCP Application: universal_mcp_applications
|
|
5
5
|
Project-URL: Homepage, https://github.com/universal-mcp/applications
|
|
6
6
|
Project-URL: Repository, https://github.com/universal-mcp/applications
|
|
@@ -15,8 +15,10 @@ Requires-Python: >=3.11
|
|
|
15
15
|
Requires-Dist: boto3>=1.38.32
|
|
16
16
|
Requires-Dist: dnspython>=2.4.0
|
|
17
17
|
Requires-Dist: e2b-code-interpreter>=1.2.1
|
|
18
|
+
Requires-Dist: elevenlabs>=2.14.0
|
|
18
19
|
Requires-Dist: fal-client>=0.5.9
|
|
19
20
|
Requires-Dist: firecrawl-py>=3.0.3
|
|
21
|
+
Requires-Dist: google-genai>=1.33.0
|
|
20
22
|
Requires-Dist: google-search-results>=2.4.2
|
|
21
23
|
Requires-Dist: gql[all]>=3.5.2
|
|
22
24
|
Requires-Dist: httpx-aiohttp>=0.1.8
|
|
@@ -32,7 +34,7 @@ Requires-Dist: replicate>=1.0.6
|
|
|
32
34
|
Requires-Dist: requests>=2.31.0
|
|
33
35
|
Requires-Dist: resend>=2.10.0
|
|
34
36
|
Requires-Dist: twilio>=9.8.0
|
|
35
|
-
Requires-Dist: universal-mcp
|
|
37
|
+
Requires-Dist: universal-mcp>=0.1.24rc17
|
|
36
38
|
Provides-Extra: dev
|
|
37
39
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
38
40
|
Requires-Dist: ruff; extra == 'dev'
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
|
|
3
|
+
from langgraph.checkpoint.memory import MemorySaver
|
|
4
|
+
|
|
5
|
+
from universal_mcp.agentr.registry import AgentrRegistry
|
|
6
|
+
from universal_mcp.agents import ReactAgent
|
|
7
|
+
|
|
8
|
+
SYSTEM_PROMPT = """
|
|
9
|
+
You are an world renowned storyteller. You write stories for children. You will be given a task to write a story and its anciallary functions. You will need to follow the steps below to complete the task.
|
|
10
|
+
Always use easy to understand language and simple words. The stories are meant for children.
|
|
11
|
+
|
|
12
|
+
IMPORTANT:
|
|
13
|
+
- Do not ask for user confirmation in between, in case of confusion make assumptions and move one.
|
|
14
|
+
- For file paths, use the /tmp directory.
|
|
15
|
+
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
async def main():
|
|
20
|
+
registry = AgentrRegistry()
|
|
21
|
+
tools = {
|
|
22
|
+
# "reddit": ["r_subreddit_top", "get_subreddit_posts"],
|
|
23
|
+
"google_gemini": ["generate_image", "generate_audio"],
|
|
24
|
+
"file_system": ["write_file"],
|
|
25
|
+
}
|
|
26
|
+
checkpointer = MemorySaver()
|
|
27
|
+
agent = ReactAgent(
|
|
28
|
+
name="My Agent",
|
|
29
|
+
instructions=SYSTEM_PROMPT,
|
|
30
|
+
registry=registry,
|
|
31
|
+
tools=tools,
|
|
32
|
+
model="azure/gpt-5-chat",
|
|
33
|
+
memory=checkpointer,
|
|
34
|
+
)
|
|
35
|
+
tasks = [
|
|
36
|
+
"""Task 1: Story Creation
|
|
37
|
+
Write a captivating children's fairy tale story about a brave princess who rescues a prince from a dragon.
|
|
38
|
+
|
|
39
|
+
Requirements:
|
|
40
|
+
- Target audience: Children aged 4-8 years
|
|
41
|
+
- Use simple, age-appropriate vocabulary and sentence structure
|
|
42
|
+
- Create 6-8 distinct scenes that flow logically from beginning to end
|
|
43
|
+
- Include classic fairy tale elements: setting, characters, conflict, and resolution
|
|
44
|
+
- Make the princess the hero of the story, showcasing courage and problem-solving
|
|
45
|
+
- Ensure the story has a positive, uplifting message
|
|
46
|
+
- Each scene should be 2-3 sentences long for easy comprehension
|
|
47
|
+
- Include dialogue to make the story engaging
|
|
48
|
+
|
|
49
|
+
Structure each scene with:
|
|
50
|
+
- Scene number and descriptive title
|
|
51
|
+
- Brief narrative text
|
|
52
|
+
- Clear progression toward the rescue and happy ending""",
|
|
53
|
+
"""Task 2: Image Generation
|
|
54
|
+
Generate high-quality images for each scene of the fairy tale story you just created.
|
|
55
|
+
|
|
56
|
+
Requirements:
|
|
57
|
+
- Create one image per scene (6-8 images total)
|
|
58
|
+
- Style: Animated webtoon comic style with bright, cheerful colors
|
|
59
|
+
- Include all main characters: princess, prince, and dragon in relevant scenes
|
|
60
|
+
- Ensure visual consistency across all images (same character designs, art style)
|
|
61
|
+
- Make images child-friendly and non-frightening
|
|
62
|
+
- Include relevant background settings for each scene
|
|
63
|
+
- Each image should clearly represent the key moment or action of its corresponding scene
|
|
64
|
+
|
|
65
|
+
For each image prompt, include:
|
|
66
|
+
- Scene description and key visual elements
|
|
67
|
+
- Character descriptions and positions
|
|
68
|
+
- Setting and background details
|
|
69
|
+
- Mood and atmosphere
|
|
70
|
+
- Specific mention of "webtoon comic style, animated, colorful, child-friendly"
|
|
71
|
+
|
|
72
|
+
To ensure consisteny pass the previous image path as reference to next image generation.
|
|
73
|
+
Generate all the scenes one by one.
|
|
74
|
+
Verify that all scenes have corresponding images before proceeding.""",
|
|
75
|
+
"""Task 3: Story Narration Writing
|
|
76
|
+
Transform the fairy tale story into an engaging audio narration script suitable for children.
|
|
77
|
+
|
|
78
|
+
Requirements:
|
|
79
|
+
- Write in a warm, friendly storytelling voice
|
|
80
|
+
- Use varied sentence rhythms and pacing for audio delivery
|
|
81
|
+
- Include natural pauses and emphasis points
|
|
82
|
+
- Add descriptive language that paints vivid mental pictures
|
|
83
|
+
- Use sound words and onomatopoeia where appropriate (whoosh, roar, etc.)
|
|
84
|
+
- Create emotional engagement through tone and word choice
|
|
85
|
+
- Ensure smooth transitions between scenes
|
|
86
|
+
- Keep language simple but expressive
|
|
87
|
+
- Add narrative cues that work well when spoken aloud
|
|
88
|
+
- Total narration should be 3-5 minutes when read aloud
|
|
89
|
+
|
|
90
|
+
Format the narration with:
|
|
91
|
+
- Clear scene breaks
|
|
92
|
+
- Emphasis markers for important moments
|
|
93
|
+
- Natural breathing points
|
|
94
|
+
- Engaging opening and satisfying conclusion""",
|
|
95
|
+
"""Task 4: Audio Generation
|
|
96
|
+
Generate high-quality audio narration of the complete fairy tale story.
|
|
97
|
+
|
|
98
|
+
Requirements:
|
|
99
|
+
- Use the narration script from Task 3
|
|
100
|
+
- Select a warm, friendly voice suitable for children's stories
|
|
101
|
+
- Ensure clear pronunciation and appropriate pacing
|
|
102
|
+
- Use natural storytelling rhythm with appropriate pauses
|
|
103
|
+
- Maintain consistent volume and tone throughout
|
|
104
|
+
- Generate as a single audio file containing the complete story
|
|
105
|
+
- Save the audio in a web-compatible format (WAV or MP3)
|
|
106
|
+
- Ensure the audio duration matches the 3-5 minute target length
|
|
107
|
+
|
|
108
|
+
Voice characteristics:
|
|
109
|
+
- Gender-neutral or female voice preferred
|
|
110
|
+
- Warm, nurturing tone
|
|
111
|
+
- Clear articulation
|
|
112
|
+
- Moderate speaking pace suitable for children
|
|
113
|
+
- Expressive delivery that brings the story to life""",
|
|
114
|
+
"""Task 5: Markdown Story Compilation
|
|
115
|
+
Create a comprehensive markdown file that combines all story elements into a beautiful, complete presentation.
|
|
116
|
+
|
|
117
|
+
Requirements:
|
|
118
|
+
- Create a well-structured markdown document with proper formatting
|
|
119
|
+
- Include an engaging title for the fairy tale
|
|
120
|
+
- Organize content with clear headings and sections
|
|
121
|
+
- Embed all generated images in their corresponding scenes
|
|
122
|
+
- Include the audio narration file with proper markdown audio player syntax
|
|
123
|
+
- Use proper markdown syntax for images: 
|
|
124
|
+
- Use proper markdown syntax for audio: 🎧 [Listen to the Story](audio_path)
|
|
125
|
+
- Add scene dividers and visual breaks for readability
|
|
126
|
+
- Include a table of contents if helpful
|
|
127
|
+
- Ensure all file paths are correct and accessible
|
|
128
|
+
- Add any necessary alt text for accessibility
|
|
129
|
+
|
|
130
|
+
Structure:
|
|
131
|
+
- Title and introduction
|
|
132
|
+
- Scene-by-scene presentation with embedded images
|
|
133
|
+
- Audio narration section
|
|
134
|
+
- Optional: Character descriptions or story themes
|
|
135
|
+
|
|
136
|
+
Save the final markdown file with an appropriate filename like '/tmp/fairy_tale_story.md'
|
|
137
|
+
Verify all embedded media files are properly linked and accessible.""",
|
|
138
|
+
]
|
|
139
|
+
|
|
140
|
+
for task in tasks:
|
|
141
|
+
result = await agent.invoke(task)
|
|
142
|
+
print(result["messages"][-1].content)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
if __name__ == "__main__":
|
|
146
|
+
asyncio.run(main())
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "universal-mcp-applications"
|
|
9
|
-
version = "0.1.
|
|
9
|
+
version = "0.1.3"
|
|
10
10
|
description = "A Universal MCP Application: universal_mcp_applications"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.11"
|
|
@@ -23,8 +23,10 @@ dependencies = [
|
|
|
23
23
|
"boto3>=1.38.32",
|
|
24
24
|
"dnspython>=2.4.0",
|
|
25
25
|
"e2b-code-interpreter>=1.2.1",
|
|
26
|
+
"elevenlabs>=2.14.0",
|
|
26
27
|
"fal-client>=0.5.9",
|
|
27
28
|
"firecrawl-py>=3.0.3",
|
|
29
|
+
"google-genai>=1.33.0",
|
|
28
30
|
"google-search-results>=2.4.2",
|
|
29
31
|
"gql[all]>=3.5.2",
|
|
30
32
|
"httpx-aiohttp>=0.1.8",
|
|
@@ -40,7 +42,7 @@ dependencies = [
|
|
|
40
42
|
"requests>=2.31.0",
|
|
41
43
|
"resend>=2.10.0",
|
|
42
44
|
"twilio>=9.8.0",
|
|
43
|
-
"universal-mcp",
|
|
45
|
+
"universal-mcp >= 0.1.24rc17",
|
|
44
46
|
]
|
|
45
47
|
|
|
46
48
|
[project.license]
|
|
@@ -102,4 +104,4 @@ quote-style = "double"
|
|
|
102
104
|
[tool.pytest.ini_options]
|
|
103
105
|
pythonpath = [
|
|
104
106
|
"src",
|
|
105
|
-
]
|
|
107
|
+
]
|
{universal_mcp_applications-0.1.2 → universal_mcp_applications-0.1.3}/src/tests/test_applications.py
RENAMED
|
@@ -1,49 +1,62 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
3
|
from universal_mcp.applications.utils import app_from_slug
|
|
4
|
-
from universal_mcp.config import AppConfig
|
|
5
4
|
from universal_mcp.utils.testing import check_application_instance
|
|
6
5
|
|
|
7
6
|
ALL_APPS = [
|
|
8
7
|
"ahrefs",
|
|
9
8
|
"airtable",
|
|
10
|
-
"
|
|
9
|
+
"aws_s3",
|
|
11
10
|
"apollo",
|
|
12
11
|
"asana",
|
|
12
|
+
"bill",
|
|
13
13
|
"box",
|
|
14
14
|
"braze",
|
|
15
|
-
# "
|
|
15
|
+
# "cal_com_v2",
|
|
16
16
|
"confluence",
|
|
17
17
|
"calendly",
|
|
18
18
|
"canva",
|
|
19
19
|
"clickup",
|
|
20
20
|
"coda",
|
|
21
|
+
"contentful",
|
|
21
22
|
"crustdata",
|
|
23
|
+
"dialpad",
|
|
24
|
+
"digitalocean",
|
|
25
|
+
"domain_checker",
|
|
22
26
|
"e2b",
|
|
23
27
|
"elevenlabs",
|
|
24
28
|
"exa",
|
|
25
29
|
"falai",
|
|
26
30
|
"figma",
|
|
31
|
+
"file_system",
|
|
27
32
|
"firecrawl",
|
|
33
|
+
"fireflies",
|
|
34
|
+
"fpl",
|
|
35
|
+
"ghost_content",
|
|
28
36
|
"github",
|
|
29
37
|
"gong",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
38
|
+
"google_calendar",
|
|
39
|
+
"google_docs",
|
|
40
|
+
"google_drive",
|
|
41
|
+
"google_gemini",
|
|
42
|
+
"google_mail",
|
|
43
|
+
"google_searchconsole",
|
|
44
|
+
"google_sheet",
|
|
36
45
|
"hashnode",
|
|
37
46
|
"heygen",
|
|
47
|
+
"http_tools",
|
|
38
48
|
"hubspot",
|
|
39
49
|
"jira",
|
|
40
50
|
"klaviyo",
|
|
51
|
+
"linkedin",
|
|
41
52
|
"mailchimp",
|
|
42
53
|
"markitdown",
|
|
43
54
|
"miro",
|
|
44
|
-
"
|
|
55
|
+
"ms_teams",
|
|
45
56
|
"neon",
|
|
46
57
|
"notion",
|
|
58
|
+
"openai",
|
|
59
|
+
"outlook",
|
|
47
60
|
"perplexity",
|
|
48
61
|
"pipedrive",
|
|
49
62
|
"posthog",
|
|
@@ -52,17 +65,24 @@ ALL_APPS = [
|
|
|
52
65
|
"resend",
|
|
53
66
|
"retell",
|
|
54
67
|
"rocketlane",
|
|
68
|
+
"semanticscholar",
|
|
55
69
|
"semrush",
|
|
70
|
+
"sendgrid",
|
|
71
|
+
"sentry",
|
|
56
72
|
"serpapi",
|
|
57
73
|
"sharepoint",
|
|
58
74
|
"shopify",
|
|
59
75
|
"shortcut",
|
|
76
|
+
"slack",
|
|
60
77
|
"spotify",
|
|
61
78
|
"supabase",
|
|
62
79
|
"tavily",
|
|
63
80
|
"trello",
|
|
81
|
+
"twilio",
|
|
82
|
+
"twitter",
|
|
64
83
|
"unipile",
|
|
65
|
-
"whatsapp
|
|
84
|
+
"whatsapp",
|
|
85
|
+
"whatsapp_business",
|
|
66
86
|
"wrike",
|
|
67
87
|
"youtube",
|
|
68
88
|
"zenquotes",
|
|
@@ -4,6 +4,7 @@ from typing import Any
|
|
|
4
4
|
|
|
5
5
|
import boto3
|
|
6
6
|
from botocore.exceptions import ClientError
|
|
7
|
+
|
|
7
8
|
from universal_mcp.applications.application import BaseApplication
|
|
8
9
|
from universal_mcp.integrations import Integration
|
|
9
10
|
|
|
@@ -22,7 +23,7 @@ class AwsS3App(BaseApplication):
|
|
|
22
23
|
aws_secret_access_key (str, optional): AWS secret access key.
|
|
23
24
|
region_name (str, optional): AWS region name.
|
|
24
25
|
"""
|
|
25
|
-
super().__init__(name="
|
|
26
|
+
super().__init__(name="aws_s3", integration=integration, **kwargs)
|
|
26
27
|
self._client = client
|
|
27
28
|
self.integration = integration
|
|
28
29
|
|
|
@@ -135,9 +136,7 @@ class AwsS3App(BaseApplication):
|
|
|
135
136
|
except ClientError:
|
|
136
137
|
return False
|
|
137
138
|
|
|
138
|
-
def list_prefixes(
|
|
139
|
-
self, bucket_name: str, prefix: str | None = None
|
|
140
|
-
) -> list[str]:
|
|
139
|
+
def list_prefixes(self, bucket_name: str, prefix: str | None = None) -> list[str]:
|
|
141
140
|
"""
|
|
142
141
|
Lists common prefixes ("folders") in the specified S3 bucket and prefix.
|
|
143
142
|
|
|
@@ -244,7 +244,7 @@ class BillApp(APIApplication):
|
|
|
244
244
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
245
245
|
|
|
246
246
|
Tags:
|
|
247
|
-
bills
|
|
247
|
+
bills, , important
|
|
248
248
|
"""
|
|
249
249
|
url = f"{self.base_url}/v3/bills"
|
|
250
250
|
query_params = {
|
|
@@ -356,7 +356,7 @@ class BillApp(APIApplication):
|
|
|
356
356
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
357
357
|
|
|
358
358
|
Tags:
|
|
359
|
-
bills
|
|
359
|
+
bills, important
|
|
360
360
|
"""
|
|
361
361
|
if billId is None:
|
|
362
362
|
raise ValueError("Missing required parameter 'billId'.")
|
|
@@ -2927,7 +2927,7 @@ class BillApp(APIApplication):
|
|
|
2927
2927
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
2928
2928
|
|
|
2929
2929
|
Tags:
|
|
2930
|
-
customers
|
|
2930
|
+
customers, important
|
|
2931
2931
|
"""
|
|
2932
2932
|
if customerId is None:
|
|
2933
2933
|
raise ValueError("Missing required parameter 'customerId'.")
|
|
@@ -3155,9 +3155,7 @@ class BoxApp(APIApplication):
|
|
|
3155
3155
|
except ValueError:
|
|
3156
3156
|
return None
|
|
3157
3157
|
|
|
3158
|
-
def delete_folders_id(
|
|
3159
|
-
self, folder_id: str, recursive: bool | None = None
|
|
3160
|
-
) -> Any:
|
|
3158
|
+
def delete_folders_id(self, folder_id: str, recursive: bool | None = None) -> Any:
|
|
3161
3159
|
"""
|
|
3162
3160
|
Delete folder
|
|
3163
3161
|
|
|
@@ -11630,9 +11628,7 @@ class BoxApp(APIApplication):
|
|
|
11630
11628
|
except ValueError:
|
|
11631
11629
|
return None
|
|
11632
11630
|
|
|
11633
|
-
def create_shield_barriers(
|
|
11634
|
-
self, enterprise: Any | None = None
|
|
11635
|
-
) -> dict[str, Any]:
|
|
11631
|
+
def create_shield_barriers(self, enterprise: Any | None = None) -> dict[str, Any]:
|
|
11636
11632
|
"""
|
|
11637
11633
|
Create shield information barrier
|
|
11638
11634
|
|
|
@@ -927,9 +927,7 @@ class BrazeApp(APIApplication):
|
|
|
927
927
|
except ValueError:
|
|
928
928
|
return None
|
|
929
929
|
|
|
930
|
-
def add_email_to_blocklist(
|
|
931
|
-
self, email: list[str] | None = None
|
|
932
|
-
) -> dict[str, Any]:
|
|
930
|
+
def add_email_to_blocklist(self, email: list[str] | None = None) -> dict[str, Any]:
|
|
933
931
|
"""
|
|
934
932
|
Blocklist Email Addresses
|
|
935
933
|
|
|
@@ -2367,9 +2365,7 @@ class BrazeApp(APIApplication):
|
|
|
2367
2365
|
except ValueError:
|
|
2368
2366
|
return None
|
|
2369
2367
|
|
|
2370
|
-
def list_scheduled_broadcasts(
|
|
2371
|
-
self, end_time: str | None = None
|
|
2372
|
-
) -> dict[str, Any]:
|
|
2368
|
+
def list_scheduled_broadcasts(self, end_time: str | None = None) -> dict[str, Any]:
|
|
2373
2369
|
"""
|
|
2374
2370
|
List Upcoming Scheduled Campaigns and Canvases
|
|
2375
2371
|
|
|
@@ -6,7 +6,7 @@ from universal_mcp.integrations import Integration
|
|
|
6
6
|
|
|
7
7
|
class CalComV2App(APIApplication):
|
|
8
8
|
def __init__(self, integration: Integration = None, **kwargs) -> None:
|
|
9
|
-
super().__init__(name="
|
|
9
|
+
super().__init__(name="cal_com_v2", integration=integration, **kwargs)
|
|
10
10
|
self.base_url = "https://api.cal.com"
|
|
11
11
|
|
|
12
12
|
def get_provider_details(self, clientId: str) -> dict[str, Any]:
|
|
@@ -34,9 +34,7 @@ class CalComV2App(APIApplication):
|
|
|
34
34
|
self._handle_response(response)
|
|
35
35
|
)
|
|
36
36
|
|
|
37
|
-
def get_provider_access_token(
|
|
38
|
-
self, clientId: str
|
|
39
|
-
) -> dict[str, Any]:
|
|
37
|
+
def get_provider_access_token(self, clientId: str) -> dict[str, Any]:
|
|
40
38
|
"""
|
|
41
39
|
Retrieves an access token for the specified client ID using a GET request.
|
|
42
40
|
|
|
@@ -215,9 +213,7 @@ class CalComV2App(APIApplication):
|
|
|
215
213
|
self._handle_response(response)
|
|
216
214
|
)
|
|
217
215
|
|
|
218
|
-
def get_oauth_client_user_by_id(
|
|
219
|
-
self, clientId: str, userId: str
|
|
220
|
-
) -> dict[str, Any]:
|
|
216
|
+
def get_oauth_client_user_by_id(self, clientId: str, userId: str) -> dict[str, Any]:
|
|
221
217
|
"""
|
|
222
218
|
Retrieves user-specific information associated with an OAuth client using the provided client ID and user ID.
|
|
223
219
|
|
|
@@ -307,9 +303,7 @@ class CalComV2App(APIApplication):
|
|
|
307
303
|
self._handle_response(response)
|
|
308
304
|
)
|
|
309
305
|
|
|
310
|
-
def delete_user_by_client_id_id(
|
|
311
|
-
self, clientId: str, userId: str
|
|
312
|
-
) -> dict[str, Any]:
|
|
306
|
+
def delete_user_by_client_id_id(self, clientId: str, userId: str) -> dict[str, Any]:
|
|
313
307
|
"""
|
|
314
308
|
Removes a user's association with an OAuth client identified by the client ID and user ID.
|
|
315
309
|
|
|
@@ -337,9 +331,7 @@ class CalComV2App(APIApplication):
|
|
|
337
331
|
self._handle_response(response)
|
|
338
332
|
)
|
|
339
333
|
|
|
340
|
-
def force_refresh_user(
|
|
341
|
-
self, clientId: str, userId: str
|
|
342
|
-
) -> dict[str, Any]:
|
|
334
|
+
def force_refresh_user(self, clientId: str, userId: str) -> dict[str, Any]:
|
|
343
335
|
"""
|
|
344
336
|
Forces a refresh for the OAuth client's user session, invalidating existing tokens and generating new ones.
|
|
345
337
|
|
|
@@ -797,9 +789,7 @@ class CalComV2App(APIApplication):
|
|
|
797
789
|
self._handle_response(response)
|
|
798
790
|
)
|
|
799
791
|
|
|
800
|
-
def delete_org_attribute(
|
|
801
|
-
self, orgId: str, attributeId: str
|
|
802
|
-
) -> dict[str, Any]:
|
|
792
|
+
def delete_org_attribute(self, orgId: str, attributeId: str) -> dict[str, Any]:
|
|
803
793
|
"""
|
|
804
794
|
Deletes a specified attribute from an organization using the provided orgId and attributeId path parameters.
|
|
805
795
|
|
|
@@ -874,9 +864,7 @@ class CalComV2App(APIApplication):
|
|
|
874
864
|
self._handle_response(response)
|
|
875
865
|
)
|
|
876
866
|
|
|
877
|
-
def get_org_attribute_options(
|
|
878
|
-
self, orgId: str, attributeId: str
|
|
879
|
-
) -> dict[str, Any]:
|
|
867
|
+
def get_org_attribute_options(self, orgId: str, attributeId: str) -> dict[str, Any]:
|
|
880
868
|
"""
|
|
881
869
|
Retrieves options for a specific attribute within an organization using the "GET" method at the "/v2/organizations/{orgId}/attributes/{attributeId}/options" endpoint.
|
|
882
870
|
|
|
@@ -1039,9 +1027,7 @@ class CalComV2App(APIApplication):
|
|
|
1039
1027
|
self._handle_response(response)
|
|
1040
1028
|
)
|
|
1041
1029
|
|
|
1042
|
-
def get_user_org_attribute_options(
|
|
1043
|
-
self, orgId: str, userId: str
|
|
1044
|
-
) -> dict[str, Any]:
|
|
1030
|
+
def get_user_org_attribute_options(self, orgId: str, userId: str) -> dict[str, Any]:
|
|
1045
1031
|
"""
|
|
1046
1032
|
Retrieves attribute options for a specified user within an organization using the "GET" method.
|
|
1047
1033
|
|
|
@@ -1507,9 +1493,7 @@ class CalComV2App(APIApplication):
|
|
|
1507
1493
|
self._handle_response(response)
|
|
1508
1494
|
)
|
|
1509
1495
|
|
|
1510
|
-
def get_org_membership_by_id(
|
|
1511
|
-
self, orgId: str, membershipId: str
|
|
1512
|
-
) -> dict[str, Any]:
|
|
1496
|
+
def get_org_membership_by_id(self, orgId: str, membershipId: str) -> dict[str, Any]:
|
|
1513
1497
|
"""
|
|
1514
1498
|
Retrieves membership details for a specific organization membership using the provided organization ID and membership ID.
|
|
1515
1499
|
|
|
@@ -1704,9 +1688,7 @@ class CalComV2App(APIApplication):
|
|
|
1704
1688
|
self._handle_response(response)
|
|
1705
1689
|
)
|
|
1706
1690
|
|
|
1707
|
-
def get_user_schedule(
|
|
1708
|
-
self, orgId: str, userId: str
|
|
1709
|
-
) -> dict[str, Any]:
|
|
1691
|
+
def get_user_schedule(self, orgId: str, userId: str) -> dict[str, Any]:
|
|
1710
1692
|
"""
|
|
1711
1693
|
Retrieves a user's schedule for a specific organization using the GET method.
|
|
1712
1694
|
|
|
@@ -2013,9 +1995,7 @@ class CalComV2App(APIApplication):
|
|
|
2013
1995
|
self._handle_response(response)
|
|
2014
1996
|
)
|
|
2015
1997
|
|
|
2016
|
-
def get_organization_team_by_id(
|
|
2017
|
-
self, orgId: str, teamId: str
|
|
2018
|
-
) -> dict[str, Any]:
|
|
1998
|
+
def get_organization_team_by_id(self, orgId: str, teamId: str) -> dict[str, Any]:
|
|
2019
1999
|
"""
|
|
2020
2000
|
Retrieves information about a specific team within an organization using the organization and team IDs.
|
|
2021
2001
|
|
|
@@ -2043,9 +2023,7 @@ class CalComV2App(APIApplication):
|
|
|
2043
2023
|
self._handle_response(response)
|
|
2044
2024
|
)
|
|
2045
2025
|
|
|
2046
|
-
def delete_team_by_id(
|
|
2047
|
-
self, orgId: str, teamId: str
|
|
2048
|
-
) -> dict[str, Any]:
|
|
2026
|
+
def delete_team_by_id(self, orgId: str, teamId: str) -> dict[str, Any]:
|
|
2049
2027
|
"""
|
|
2050
2028
|
Deletes a specific team within an organization and returns a success status upon completion.
|
|
2051
2029
|
|
|
@@ -2838,9 +2816,7 @@ class CalComV2App(APIApplication):
|
|
|
2838
2816
|
response = self._get(url, params=query_params)
|
|
2839
2817
|
return Getbookingbyuidresponse.model_validate(self._handle_response(response))
|
|
2840
2818
|
|
|
2841
|
-
def reschedule_booking_by_uid(
|
|
2842
|
-
self, bookingUid: str
|
|
2843
|
-
) -> dict[str, Any]:
|
|
2819
|
+
def reschedule_booking_by_uid(self, bookingUid: str) -> dict[str, Any]:
|
|
2844
2820
|
"""
|
|
2845
2821
|
Reschedules an existing booking identified by its unique `bookingUid`, using the `POST` method at the "/v2/bookings/{bookingUid}/reschedule" endpoint.
|
|
2846
2822
|
|
|
@@ -3341,9 +3317,7 @@ class CalComV2App(APIApplication):
|
|
|
3341
3317
|
self._handle_response(response)
|
|
3342
3318
|
)
|
|
3343
3319
|
|
|
3344
|
-
def conferencing_controller_connect(
|
|
3345
|
-
self, app: str
|
|
3346
|
-
) -> dict[str, Any]:
|
|
3320
|
+
def conferencing_controller_connect(self, app: str) -> dict[str, Any]:
|
|
3347
3321
|
"""
|
|
3348
3322
|
Establishes a connection for conferencing using the specified application via the POST method at the "/v2/conferencing/{app}/connect" endpoint.
|
|
3349
3323
|
|
|
@@ -3452,9 +3426,7 @@ class CalComV2App(APIApplication):
|
|
|
3452
3426
|
response = self._get(url, params=query_params)
|
|
3453
3427
|
return Listconferencingresponse.model_validate(self._handle_response(response))
|
|
3454
3428
|
|
|
3455
|
-
def conferencing_controller_default(
|
|
3456
|
-
self, app: str
|
|
3457
|
-
) -> dict[str, Any]:
|
|
3429
|
+
def conferencing_controller_default(self, app: str) -> dict[str, Any]:
|
|
3458
3430
|
"""
|
|
3459
3431
|
Sets the default conferencing application for the specified app identifier.
|
|
3460
3432
|
|
|
@@ -3823,9 +3795,7 @@ class CalComV2App(APIApplication):
|
|
|
3823
3795
|
self._handle_response(response)
|
|
3824
3796
|
)
|
|
3825
3797
|
|
|
3826
|
-
def get_webhook_by_id(
|
|
3827
|
-
self, eventTypeId: str, webhookId: str
|
|
3828
|
-
) -> dict[str, Any]:
|
|
3798
|
+
def get_webhook_by_id(self, eventTypeId: str, webhookId: str) -> dict[str, Any]:
|
|
3829
3799
|
"""
|
|
3830
3800
|
Retrieves details about a specific webhook for a given event type using the provided event type ID and webhook ID.
|
|
3831
3801
|
|
|
@@ -4366,9 +4336,7 @@ class CalComV2App(APIApplication):
|
|
|
4366
4336
|
self._handle_response(response)
|
|
4367
4337
|
)
|
|
4368
4338
|
|
|
4369
|
-
def stripe_controller_save(
|
|
4370
|
-
self, state: str, code: str
|
|
4371
|
-
) -> dict[str, Any]:
|
|
4339
|
+
def stripe_controller_save(self, state: str, code: str) -> dict[str, Any]:
|
|
4372
4340
|
"""
|
|
4373
4341
|
Retrieves a Stripe resource using a state and code query parameter and returns the result upon successful authentication.
|
|
4374
4342
|
|
|
@@ -4551,9 +4519,7 @@ class CalComV2App(APIApplication):
|
|
|
4551
4519
|
self._handle_response(response)
|
|
4552
4520
|
)
|
|
4553
4521
|
|
|
4554
|
-
def teams_controller_get_team(
|
|
4555
|
-
self, teamId: str
|
|
4556
|
-
) -> dict[str, Any]:
|
|
4522
|
+
def teams_controller_get_team(self, teamId: str) -> dict[str, Any]:
|
|
4557
4523
|
"""
|
|
4558
4524
|
Retrieves information about a team specified by the team ID using the GET method.
|
|
4559
4525
|
|
|
@@ -4672,9 +4638,7 @@ class CalComV2App(APIApplication):
|
|
|
4672
4638
|
self._handle_response(response)
|
|
4673
4639
|
)
|
|
4674
4640
|
|
|
4675
|
-
def teams_controller_delete_team(
|
|
4676
|
-
self, teamId: str
|
|
4677
|
-
) -> dict[str, Any]:
|
|
4641
|
+
def teams_controller_delete_team(self, teamId: str) -> dict[str, Any]:
|
|
4678
4642
|
"""
|
|
4679
4643
|
Deletes a specified team using the provided team ID.
|
|
4680
4644
|
|
|
@@ -5089,9 +5053,7 @@ class CalComV2App(APIApplication):
|
|
|
5089
5053
|
self._handle_response(response)
|
|
5090
5054
|
)
|
|
5091
5055
|
|
|
5092
|
-
def get_membership_by_id(
|
|
5093
|
-
self, teamId: str, membershipId: str
|
|
5094
|
-
) -> dict[str, Any]:
|
|
5056
|
+
def get_membership_by_id(self, teamId: str, membershipId: str) -> dict[str, Any]:
|
|
5095
5057
|
"""
|
|
5096
5058
|
Retrieves the membership details for a specific user in a team using the provided membership ID.
|
|
5097
5059
|
|
|
@@ -5341,9 +5303,7 @@ class CalComV2App(APIApplication):
|
|
|
5341
5303
|
self._handle_response(response)
|
|
5342
5304
|
)
|
|
5343
5305
|
|
|
5344
|
-
def webhooks_controller_get_webhook(
|
|
5345
|
-
self, webhookId: str
|
|
5346
|
-
) -> dict[str, Any]:
|
|
5306
|
+
def webhooks_controller_get_webhook(self, webhookId: str) -> dict[str, Any]:
|
|
5347
5307
|
"""
|
|
5348
5308
|
Retrieves information about a specific webhook identified by its ID using the "GET" method.
|
|
5349
5309
|
|
|
@@ -5368,9 +5328,7 @@ class CalComV2App(APIApplication):
|
|
|
5368
5328
|
self._handle_response(response)
|
|
5369
5329
|
)
|
|
5370
5330
|
|
|
5371
|
-
def delete_user_webhook_by_id(
|
|
5372
|
-
self, webhookId: str
|
|
5373
|
-
) -> dict[str, Any]:
|
|
5331
|
+
def delete_user_webhook_by_id(self, webhookId: str) -> dict[str, Any]:
|
|
5374
5332
|
"""
|
|
5375
5333
|
Deletes a webhook by its ID using the DELETE method at the "/v2/webhooks/{webhookId}" path, removing the specified webhook endpoint.
|
|
5376
5334
|
|