mcpscraper-memory-sdk 0.28.0__tar.gz → 0.28.2__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.
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/PKG-INFO +1 -1
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/pyproject.toml +4 -1
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_client.py +2 -2
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/harvest_paa.py +1 -1
- mcpscraper_memory_sdk-0.28.0/scripts/generate_models.py +0 -156
- mcpscraper_memory_sdk-0.28.0/tests/test_client.py +0 -263
- mcpscraper_memory_sdk-0.28.0/uv.lock +0 -527
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/.gitignore +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/README.md +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/__init__.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/_generated_client.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/_mcp_generated_client.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/client.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/errors.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/__init__.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_accept_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_approve_sender.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_decline_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_inbox_settings.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_invite_account.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_issue_key.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_list_approved_senders.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_list_keys.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_note_inbox.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_remove_approved_sender.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_revoke_key.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_revoke_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_set_scope.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_share_note.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_share_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_swap_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_switch_account.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_unlink_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/add_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_activation_destination.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_campaign_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_export.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_form.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_acquisition.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_business_metrics.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_channel_breakdown.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_content.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_conversions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_dimensions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_entitlement.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_events.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_forecast.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_health.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_overview.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_paths.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_timeseries.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_import_crm_csv.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_activation_destinations.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_campaign_links.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_crm_imports.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_forms.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_pixels.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_sites.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analyze_site_similarity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/archive_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/archive_read.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/archive_scheduled_run.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/audit_site.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_click.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_close.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_extension_delete.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_extension_import.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_extension_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_goto.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_list_replays.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_list_sessions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_locate.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_open.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_press.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_profile_connect.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_profile_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_read.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_annotate.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_download.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_mark.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_start.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_stop.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_screenshot.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_scroll.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_type.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/bulk_delete_notes.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/call_service_connection_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/capture_serp_page_snapshots.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/capture_serp_snapshot.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/check_site_export.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_claim_publication.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_entity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_entity_ledger.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_entity_linkset.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_proposal.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_publication.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_host_image.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_list_filters.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_list_needs_links.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_prepare_entity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_prepare_publication.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_publish_editorial.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_save_filter.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_search_entities.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_submit_entity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_update_editorial_article.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_validate_entity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_validate_publication.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/cost_usage.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_channel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_editorial_reading_room.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_scheduled_run_view_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_secure_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_webhook.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/credits_info.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/delete_note.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/delete_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/delete_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/describe_service_connection_tool.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/diff_page.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/directory_workflow.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/directory_workflow_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/editorial_reading_room_guide.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/export_connected_service_data.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/export_search_console_table_data.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/extract_site.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/extract_url.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_ad_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_ad_transcribe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_page_intel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_video_transcribe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/fact_history.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/g2_reviews.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_artifact_template_example.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_chat_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_local_sourcebook_contract.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_message_note.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_schedule_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_schedule_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_scheduled_run.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_vault_app_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_vault_contract.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/gmail_search_contacts.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/gmail_send_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_ads_page_intel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_ads_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_ads_transcribe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_calendar_create_event.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_delete.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_get.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_move.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_save.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_folder_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_folder_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_project_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_project_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/import_service_connection_to_memory.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/instagram_media_download.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/instagram_profile_content.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_enrich.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_enrich_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_import.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_upload_start.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/library_ingest.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_artifact_templates.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_channel_members.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_channel_messages.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_local_sourcebook_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_memory_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_scheduled_actions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_scheduled_runs.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_service_connections.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_shared_with_me.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_vaults.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_webhooks.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/local_sourcebook_capture.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/local_sourcebook_refresh.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/local_sourcebook_submission_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/location_markets.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/map_site_urls.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/map_wayback_snapshots.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/maps_place_intel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/maps_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/mark_scheduled_run_opened.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/mark_scheduled_run_unopened.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_backlinks.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_capture.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_export.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_get.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_graph_path.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_graph_universe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_put.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_questions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_suggest.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_upload.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/merge_memory_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/meta_ad_creative_media.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/my_mentions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/pause_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/poll_channel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/post_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/prepare_local_sourcebook_write.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/prepare_memory_write.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/propose_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/provision_defaults.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/query_fanout_workflow.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/rank_tracker_workflow.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/react_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/read_service_connection.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/record_fact.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/reddit_thread.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/reddit_trending.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/remove_channel_member.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/renew_connected_data_download.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/renew_editorial_reading_room_download.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/reply_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/report_artifact_read.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/resolve_local_sourcebook_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/resolve_memory_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/resume_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_chat_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_schedule_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_scheduled_run_view_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_vault_app_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_webhook.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/route_memory.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/search_serp.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/serp_identity_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/serp_identity_delete.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/serp_identity_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_agent_identity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_schedule_defaults.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_schedule_entitlement.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_scheduled_action_connections.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/site_export_image.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/site_export_read.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/slack_send_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/storage_usage.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_delete_rows.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_describe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_drop.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_insert_rows.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_query.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/temporal_recall.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/test_service_connection.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/trustpilot_reviews.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/update_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/update_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/upsert_memory_tag.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/validate_local_sourcebook_write.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/validate_memory_write.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_analyze_start.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_analyze_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_frame_analysis.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_frame_analysis_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_artifact_read.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_run.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_step.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_suggest.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/youtube_harvest.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/youtube_transcribe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/zoom_create_meeting.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/__init__.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_accept_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_approve_sender.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_decline_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_inbox_settings.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_invite_account.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_issue_key.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_list_approved_senders.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_list_keys.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_note_inbox.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_remove_approved_sender.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_revoke_key.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_revoke_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_set_scope.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_share_note.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_share_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_swap_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_switch_account.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_unlink_share.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/add_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/answer_inbox_item.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/archive_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/archive_scheduled_run.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/auto_optimization.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/bulk_delete_notes.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/cost_usage.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_channel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_secure_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_webhook.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/delete_note.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/delete_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/delete_vault.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/fact_history.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_chat_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_message_note.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_schedule_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_schedule_status.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_scheduled_run.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_vault_app_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_vault_contract.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_delete.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_get.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_move.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_save.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_folder_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_folder_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_project_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_project_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/library_ingest.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_artifact_templates.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_channel_members.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_channel_messages.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_memory_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_scheduled_action_runs.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_scheduled_actions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_scheduled_runs.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_shared_with_me.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_vaults.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_webhooks.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/mark_scheduled_run_opened.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/mark_scheduled_run_unopened.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_backlinks.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_capture.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_export.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_get.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_graph_path.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_graph_universe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_put.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_questions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_search.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_suggest.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_upload.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/merge_memory_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/my_mentions.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/pause_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/poll_channel.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/post_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/prepare_memory_write.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/propose_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/provision_defaults.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/react_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/record_fact.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/remove_channel_member.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/reply_message.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/resolve_memory_tags.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/resume_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_chat_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_schedule_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_vault_app_link.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_webhook.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/route_memory.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/set_agent_identity.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/set_schedule_defaults.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/set_schedule_entitlement.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/storage_usage.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_create.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_delete_rows.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_describe.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_drop.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_insert_rows.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_list.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_query.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/temporal_recall.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/update_artifact_template.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/update_scheduled_action.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/upsert_memory_tag.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/validate_memory_write.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/video_analyze_start.py +0 -0
- {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/video_analyze_status.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mcpscraper-memory-sdk
|
|
3
|
-
Version: 0.28.
|
|
3
|
+
Version: 0.28.2
|
|
4
4
|
Summary: Official Python clients for all 259 mcpscraper.dev MCP tools and the direct 114-tool memory API
|
|
5
5
|
Project-URL: Repository, https://github.com/VilovietaSEO/mcpscraper-sdk
|
|
6
6
|
License-Expression: MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mcpscraper-memory-sdk"
|
|
3
|
-
version = "0.28.
|
|
3
|
+
version = "0.28.2"
|
|
4
4
|
description = "Official Python clients for all 259 mcpscraper.dev MCP tools and the direct 114-tool memory API"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -25,3 +25,6 @@ build-backend = "hatchling.build"
|
|
|
25
25
|
|
|
26
26
|
[tool.hatch.build.targets.wheel]
|
|
27
27
|
packages = ["src/mcpscraper_memory"]
|
|
28
|
+
|
|
29
|
+
[tool.hatch.build.targets.sdist]
|
|
30
|
+
include = ["src/mcpscraper_memory", "README.md", "pyproject.toml"]
|
{mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_client.py
RENAMED
|
@@ -37,7 +37,7 @@ class McpToolsClient(GeneratedMcpToolsClient):
|
|
|
37
37
|
session: requests.Session | None = None,
|
|
38
38
|
list_retries: int = 2,
|
|
39
39
|
retry_delay_s: float = 0.25,
|
|
40
|
-
request_timeout: float =
|
|
40
|
+
request_timeout: float = 590.0,
|
|
41
41
|
) -> None:
|
|
42
42
|
self._api_key = api_key
|
|
43
43
|
self._base_url = base_url.rstrip("/")
|
|
@@ -74,7 +74,7 @@ class McpToolsClient(GeneratedMcpToolsClient):
|
|
|
74
74
|
envelope = {
|
|
75
75
|
"error_code": "mcp_request_timeout",
|
|
76
76
|
"error_type": "timeout",
|
|
77
|
-
"message": f"
|
|
77
|
+
"message": f"The client stopped waiting after {self._request_timeout:g}s. This does not prove server-side work stopped; poll a known job when one exists.",
|
|
78
78
|
"retryable": True,
|
|
79
79
|
}
|
|
80
80
|
raise McpToolError(envelope["message"], http_status=408, tool_error=envelope) from error
|
|
@@ -11,7 +11,7 @@ class HarvestPaaInput(BaseModel):
|
|
|
11
11
|
gl: str | None = Field(None, alias="gl", description="Google country code inferred from location or user language.")
|
|
12
12
|
hl: str | None = Field(None, alias="hl", description="Google interface/content language inferred from the user request.")
|
|
13
13
|
device: Literal['desktop', 'mobile'] | None = Field(None, alias="device", description="SERP device context. Use mobile only for mobile rankings.")
|
|
14
|
-
idempotency_key: str | None = Field(None, alias="idempotencyKey", description="
|
|
14
|
+
idempotency_key: str | None = Field(None, alias="idempotencyKey", description="Optional duplicate-start key. Reuse it only after an uncertain or lost response to the same logical call; use a new key for an intentional retry after a terminal failure. This is not the run identifier.")
|
|
15
15
|
serp_identity: str | None = Field(None, alias="serpIdentity", description="Optional persistent SERP identity created with serp_identity_create. Reuses the same saved browser state and fixed network address across calls.")
|
|
16
16
|
include_all_serp_features: bool | None = Field(None, alias="includeAllSerpFeatures", description="Capture every optional same-page SERP surface: local pack, forums, videos, AI Overview/AI Mode, and What People Are Saying.")
|
|
17
17
|
include_local_pack: bool | None = Field(None, alias="includeLocalPack", description="Include Google local/map-pack businesses and merge their entity IDs.")
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
import keyword
|
|
3
|
-
import re
|
|
4
|
-
import shutil
|
|
5
|
-
from pathlib import Path
|
|
6
|
-
|
|
7
|
-
REPO_ROOT = Path(__file__).resolve().parents[3]
|
|
8
|
-
MANIFEST_PATH = REPO_ROOT / "contracts" / "memory.tools.json"
|
|
9
|
-
PACKAGE_ROOT = Path(__file__).resolve().parents[1]
|
|
10
|
-
MODELS_DIR = PACKAGE_ROOT / "src" / "mcpscraper_memory" / "models"
|
|
11
|
-
CLIENT_GENERATED_PATH = PACKAGE_ROOT / "src" / "mcpscraper_memory" / "_generated_client.py"
|
|
12
|
-
|
|
13
|
-
CATEGORIES = [
|
|
14
|
-
"access", "capture", "channels", "facts", "graph", "library", "memory", "recall",
|
|
15
|
-
"schedule", "storage", "tables", "tags", "vaults", "video", "webhooks",
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def to_snake_case(value: str) -> str:
|
|
20
|
-
value = re.sub(r"[-\s]+", "_", value)
|
|
21
|
-
value = re.sub(r"(?<!^)(?=[A-Z])", "_", value)
|
|
22
|
-
snake = value.lower().strip("_")
|
|
23
|
-
return f"{snake}_" if keyword.iskeyword(snake) else snake
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def derive_method_name(legacy_id: str, category: str) -> str:
|
|
27
|
-
for candidate in (category, category.rstrip("s")):
|
|
28
|
-
prefix = f"{candidate}-"
|
|
29
|
-
if legacy_id.startswith(prefix) and len(legacy_id) > len(prefix):
|
|
30
|
-
return to_snake_case(legacy_id[len(prefix):])
|
|
31
|
-
return to_snake_case(legacy_id)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def to_pascal_case(value: str) -> str:
|
|
35
|
-
parts = re.split(r"[-_\s]+", value)
|
|
36
|
-
return "".join(p[0].upper() + p[1:] for p in parts if p)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def json_type_to_python(schema: dict, class_name_hint: str) -> str:
|
|
40
|
-
if "enum" in schema:
|
|
41
|
-
literal_values = ", ".join(json.dumps(v) for v in schema["enum"])
|
|
42
|
-
return f"Literal[{literal_values}]"
|
|
43
|
-
json_type = schema.get("type")
|
|
44
|
-
if json_type == "string":
|
|
45
|
-
return "str"
|
|
46
|
-
if json_type == "integer":
|
|
47
|
-
return "int"
|
|
48
|
-
if json_type == "number":
|
|
49
|
-
return "float"
|
|
50
|
-
if json_type == "boolean":
|
|
51
|
-
return "bool"
|
|
52
|
-
if json_type == "array":
|
|
53
|
-
item_schema = schema.get("items", {})
|
|
54
|
-
item_type = json_type_to_python(item_schema, class_name_hint)
|
|
55
|
-
return f"list[{item_type}]"
|
|
56
|
-
if json_type == "object" or "properties" in schema:
|
|
57
|
-
return "dict[str, Any]"
|
|
58
|
-
return "Any"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def field_definition(name: str, schema: dict, required: bool, class_name_hint: str) -> str:
|
|
62
|
-
py_type = json_type_to_python(schema, class_name_hint)
|
|
63
|
-
if not required:
|
|
64
|
-
py_type = f"{py_type} | None"
|
|
65
|
-
description = schema.get("description", "").replace('"', '\\"')
|
|
66
|
-
default = "None" if not required else "..."
|
|
67
|
-
return f' {to_snake_case(name)}: {py_type} = Field({default}, alias="{name}", description="{description}")'
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
def render_model(class_name: str, schema: dict) -> str:
|
|
71
|
-
properties = schema.get("properties", {}) or {}
|
|
72
|
-
required = set(schema.get("required", []) or [])
|
|
73
|
-
if not properties:
|
|
74
|
-
return f"class {class_name}(BaseModel):\n model_config = ConfigDict(populate_by_name=True, extra=\"allow\")\n"
|
|
75
|
-
lines = [f"class {class_name}(BaseModel):", ' model_config = ConfigDict(populate_by_name=True, extra="allow")', ""]
|
|
76
|
-
for prop_name, prop_schema in properties.items():
|
|
77
|
-
lines.append(field_definition(prop_name, prop_schema, prop_name in required, class_name))
|
|
78
|
-
return "\n".join(lines) + "\n"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
def main() -> None:
|
|
82
|
-
manifest = json.loads(MANIFEST_PATH.read_text())
|
|
83
|
-
tools = manifest["tools"]
|
|
84
|
-
|
|
85
|
-
shutil.rmtree(MODELS_DIR, ignore_errors=True)
|
|
86
|
-
MODELS_DIR.mkdir(parents=True, exist_ok=True)
|
|
87
|
-
(MODELS_DIR / "__init__.py").write_text("")
|
|
88
|
-
|
|
89
|
-
by_category: dict[str, list[dict]] = {}
|
|
90
|
-
for tool in tools:
|
|
91
|
-
by_category.setdefault(tool["category"], []).append(tool)
|
|
92
|
-
|
|
93
|
-
for tool in tools:
|
|
94
|
-
legacy = tool["legacyId"]
|
|
95
|
-
module_name = to_snake_case(legacy)
|
|
96
|
-
input_class = to_pascal_case(legacy) + "Input"
|
|
97
|
-
output_class = to_pascal_case(legacy) + "Output"
|
|
98
|
-
|
|
99
|
-
content = [
|
|
100
|
-
"from typing import Any, Literal",
|
|
101
|
-
"from pydantic import BaseModel, ConfigDict, Field",
|
|
102
|
-
"",
|
|
103
|
-
"",
|
|
104
|
-
render_model(input_class, tool["inputSchema"]),
|
|
105
|
-
"",
|
|
106
|
-
render_model(output_class, tool["outputSchema"]),
|
|
107
|
-
]
|
|
108
|
-
(MODELS_DIR / f"{module_name}.py").write_text("\n".join(content))
|
|
109
|
-
|
|
110
|
-
namespace_blocks = []
|
|
111
|
-
import_lines = []
|
|
112
|
-
for category in CATEGORIES:
|
|
113
|
-
class_name = to_pascal_case(category) + "Namespace"
|
|
114
|
-
method_blocks = []
|
|
115
|
-
used_names: set[str] = set()
|
|
116
|
-
for tool in by_category.get(category, []):
|
|
117
|
-
legacy = tool["legacyId"]
|
|
118
|
-
wire_name = tool["name"]
|
|
119
|
-
module_name = to_snake_case(legacy)
|
|
120
|
-
input_class = to_pascal_case(legacy) + "Input"
|
|
121
|
-
output_class = to_pascal_case(legacy) + "Output"
|
|
122
|
-
method_name = derive_method_name(legacy, category)
|
|
123
|
-
if method_name in used_names:
|
|
124
|
-
method_name = to_snake_case(legacy)
|
|
125
|
-
used_names.add(method_name)
|
|
126
|
-
|
|
127
|
-
import_lines.append(
|
|
128
|
-
f"from .models.{module_name} import {input_class}, {output_class}"
|
|
129
|
-
)
|
|
130
|
-
method_blocks.append(
|
|
131
|
-
f' def {method_name}(self, **kwargs: Any) -> {output_class}:\n'
|
|
132
|
-
f' payload = {input_class}(**kwargs).model_dump(by_alias=True, exclude_none=True)\n'
|
|
133
|
-
f' result = self._call_tool("{wire_name}", payload)\n'
|
|
134
|
-
f' return {output_class}.model_validate(result)\n'
|
|
135
|
-
)
|
|
136
|
-
namespace_blocks.append(
|
|
137
|
-
f"class {class_name}:\n"
|
|
138
|
-
f" def __init__(self, call_tool):\n"
|
|
139
|
-
f" self._call_tool = call_tool\n\n"
|
|
140
|
-
+ "\n".join(method_blocks)
|
|
141
|
-
)
|
|
142
|
-
|
|
143
|
-
generated = (
|
|
144
|
-
"from typing import Any, Callable\n\n"
|
|
145
|
-
+ "\n".join(sorted(set(import_lines)))
|
|
146
|
-
+ "\n\n\n"
|
|
147
|
-
+ "\n\n".join(namespace_blocks)
|
|
148
|
-
+ "\n"
|
|
149
|
-
)
|
|
150
|
-
CLIENT_GENERATED_PATH.write_text(generated)
|
|
151
|
-
|
|
152
|
-
print(f"Generated {len(tools)} tool model pairs across {len(by_category)} categories.")
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if __name__ == "__main__":
|
|
156
|
-
main()
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
import responses
|
|
5
|
-
|
|
6
|
-
from mcpscraper_memory import MemoryClient, MemoryApiError, McpToolsClient
|
|
7
|
-
from mcpscraper_memory._mcp_generated_client import MCP_TOOL_BINDINGS, MCP_TOOL_COUNT
|
|
8
|
-
from mcpscraper_memory.models.create_scheduled_action import (
|
|
9
|
-
CreateScheduledActionInput,
|
|
10
|
-
CreateScheduledActionOutput,
|
|
11
|
-
)
|
|
12
|
-
from mcpscraper_memory.mcp_models.update_scheduled_action import (
|
|
13
|
-
UpdateScheduledActionInput as UnifiedUpdateScheduledActionInput,
|
|
14
|
-
)
|
|
15
|
-
from mcpscraper_memory.models.get_schedule_link import GetScheduleLinkOutput
|
|
16
|
-
from mcpscraper_memory.models.get_schedule_status import GetScheduleStatusOutput
|
|
17
|
-
from mcpscraper_memory.models.resume_scheduled_action import ResumeScheduledActionOutput
|
|
18
|
-
from mcpscraper_memory.models.set_schedule_entitlement import SetScheduleEntitlementInput
|
|
19
|
-
|
|
20
|
-
BASE_URL = "https://memory.mcpscraper.dev"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@responses.activate
|
|
24
|
-
def test_memory_search_sends_correct_wire_tool_name_and_parses_structured_content():
|
|
25
|
-
captured = {}
|
|
26
|
-
|
|
27
|
-
def handler(request):
|
|
28
|
-
captured["body"] = json.loads(request.body)
|
|
29
|
-
return (
|
|
30
|
-
200,
|
|
31
|
-
{},
|
|
32
|
-
json.dumps(
|
|
33
|
-
{
|
|
34
|
-
"jsonrpc": "2.0",
|
|
35
|
-
"id": captured["body"]["id"],
|
|
36
|
-
"result": {"structuredContent": {"ok": True, "results": [{"text": "hello", "source": "note:a", "score": 0.9}]}},
|
|
37
|
-
}
|
|
38
|
-
),
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
responses.add_callback(responses.POST, f"{BASE_URL}/mcp", callback=handler, content_type="application/json")
|
|
42
|
-
|
|
43
|
-
client = MemoryClient(api_key="mk_test")
|
|
44
|
-
result = client.memory.search(query="hello world")
|
|
45
|
-
|
|
46
|
-
assert captured["body"]["method"] == "tools/call"
|
|
47
|
-
assert captured["body"]["params"]["name"] == "searchTool"
|
|
48
|
-
assert captured["body"]["params"]["arguments"] == {"query": "hello world"}
|
|
49
|
-
assert result.ok is True
|
|
50
|
-
assert result.results[0]["text"] == "hello"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
@responses.activate
|
|
54
|
-
def test_mcp_tools_client_preserves_native_image_content():
|
|
55
|
-
responses.add(
|
|
56
|
-
responses.POST,
|
|
57
|
-
"https://mcpscraper.dev/mcp",
|
|
58
|
-
json={
|
|
59
|
-
"jsonrpc": "2.0",
|
|
60
|
-
"id": 1,
|
|
61
|
-
"result": {
|
|
62
|
-
"content": [
|
|
63
|
-
{"type": "text", "text": "# Creative"},
|
|
64
|
-
{"type": "image", "data": "iVBORw0KGgo=", "mimeType": "image/png"},
|
|
65
|
-
],
|
|
66
|
-
"structuredContent": {"ok": True},
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
status=200,
|
|
70
|
-
)
|
|
71
|
-
result = McpToolsClient(api_key="sk_test").call_tool_result(
|
|
72
|
-
"meta_ad_creative_media", {"connectionId": "conn_1", "adId": "12345"}
|
|
73
|
-
)
|
|
74
|
-
assert result["content"][1]["type"] == "image"
|
|
75
|
-
assert result["content"][1]["data"] == "iVBORw0KGgo="
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
@responses.activate
|
|
79
|
-
def test_access_headers_include_accept_and_authorization():
|
|
80
|
-
captured = {}
|
|
81
|
-
|
|
82
|
-
def handler(request):
|
|
83
|
-
captured["headers"] = dict(request.headers)
|
|
84
|
-
captured["body"] = json.loads(request.body)
|
|
85
|
-
vault = {"vault": "Ideas", "handle": "Ideas", "role": "owner", "notes": 3, "bytes": 1024, "kind": "notes"}
|
|
86
|
-
return (200, {}, json.dumps({"jsonrpc": "2.0", "id": 1, "result": {"structuredContent": {"ok": True, "vaults": [vault]}}}))
|
|
87
|
-
|
|
88
|
-
responses.add_callback(responses.POST, f"{BASE_URL}/mcp", callback=handler, content_type="application/json")
|
|
89
|
-
|
|
90
|
-
client = MemoryClient(api_key="mk_test")
|
|
91
|
-
result = client.vaults.list_vaults()
|
|
92
|
-
|
|
93
|
-
assert captured["headers"]["accept"] == "application/json, text/event-stream"
|
|
94
|
-
assert captured["headers"]["authorization"] == "Bearer mk_test"
|
|
95
|
-
assert captured["body"]["params"]["name"] == "listVaultsTool"
|
|
96
|
-
assert result.ok is True
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
@responses.activate
|
|
100
|
-
def test_json_rpc_error_raises_memory_api_error():
|
|
101
|
-
responses.add(
|
|
102
|
-
responses.POST,
|
|
103
|
-
f"{BASE_URL}/mcp",
|
|
104
|
-
json={"jsonrpc": "2.0", "id": 1, "error": {"code": -32602, "message": "Invalid params"}},
|
|
105
|
-
status=200,
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
client = MemoryClient(api_key="mk_test")
|
|
109
|
-
with pytest.raises(MemoryApiError, match="Invalid params"):
|
|
110
|
-
client.memory.search(query="x")
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
@responses.activate
|
|
114
|
-
def test_mcp_tool_level_is_error_raises_memory_api_error():
|
|
115
|
-
responses.add(
|
|
116
|
-
responses.POST,
|
|
117
|
-
f"{BASE_URL}/mcp",
|
|
118
|
-
json={
|
|
119
|
-
"jsonrpc": "2.0",
|
|
120
|
-
"id": 1,
|
|
121
|
-
"result": {"content": [{"type": "text", "text": json.dumps({"message": "vault not found"})}], "isError": True},
|
|
122
|
-
},
|
|
123
|
-
status=200,
|
|
124
|
-
)
|
|
125
|
-
|
|
126
|
-
client = MemoryClient(api_key="mk_test")
|
|
127
|
-
with pytest.raises(MemoryApiError, match="vault not found"):
|
|
128
|
-
client.vaults.list_vaults()
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
@responses.activate
|
|
132
|
-
def test_non_2xx_http_response_raises_memory_api_error():
|
|
133
|
-
responses.add(responses.POST, f"{BASE_URL}/mcp", body="server error", status=500)
|
|
134
|
-
|
|
135
|
-
client = MemoryClient(api_key="mk_test")
|
|
136
|
-
with pytest.raises(MemoryApiError) as exc_info:
|
|
137
|
-
client.memory.search(query="x")
|
|
138
|
-
assert exc_info.value.http_status == 500
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
def test_unified_bindings_contain_every_contract_tool():
|
|
142
|
-
assert MCP_TOOL_COUNT == len(MCP_TOOL_BINDINGS)
|
|
143
|
-
names = {binding["name"] for binding in MCP_TOOL_BINDINGS}
|
|
144
|
-
assert len(set(names)) == MCP_TOOL_COUNT
|
|
145
|
-
assert {
|
|
146
|
-
"export_connected_service_data",
|
|
147
|
-
"export_search_console_table_data",
|
|
148
|
-
"renew_connected_data_download",
|
|
149
|
-
"describe_service_connection_tool",
|
|
150
|
-
"import_service_connection_to_memory",
|
|
151
|
-
"archive_read",
|
|
152
|
-
"list_scheduled_runs",
|
|
153
|
-
"create_artifact_template",
|
|
154
|
-
"create_scheduled_run_view_link",
|
|
155
|
-
} <= names
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
def test_direct_scheduling_models_match_the_credit_metered_contract():
|
|
159
|
-
create_input = CreateScheduledActionInput(
|
|
160
|
-
description="Sync Drive",
|
|
161
|
-
vault="Knowledge",
|
|
162
|
-
cadence="daily",
|
|
163
|
-
executionMode="connection_sync",
|
|
164
|
-
)
|
|
165
|
-
assert create_input.execution_mode == "connection_sync"
|
|
166
|
-
|
|
167
|
-
create_output = CreateScheduledActionOutput(
|
|
168
|
-
ok=True,
|
|
169
|
-
executionMode="agent",
|
|
170
|
-
artifactSelection={"mode": "none"},
|
|
171
|
-
)
|
|
172
|
-
assert create_output.execution_mode == "agent"
|
|
173
|
-
assert "code" in CreateScheduledActionOutput.model_fields
|
|
174
|
-
assert "code" in GetScheduleLinkOutput.model_fields
|
|
175
|
-
assert "code" in GetScheduleStatusOutput.model_fields
|
|
176
|
-
assert "code" in ResumeScheduledActionOutput.model_fields
|
|
177
|
-
assert {
|
|
178
|
-
"billing_mode",
|
|
179
|
-
"run_base_credits",
|
|
180
|
-
"llm_cost_multiplier",
|
|
181
|
-
"default_timezone",
|
|
182
|
-
} <= set(GetScheduleStatusOutput.model_fields)
|
|
183
|
-
|
|
184
|
-
entitlement = SetScheduleEntitlementInput(granteeIdentity="owner@example.com")
|
|
185
|
-
assert entitlement.enabled is None
|
|
186
|
-
|
|
187
|
-
pinned_update = UnifiedUpdateScheduledActionInput(
|
|
188
|
-
id="schedule_1",
|
|
189
|
-
artifactSelection={
|
|
190
|
-
"mode": "saved_template",
|
|
191
|
-
"templateId": "00000000-0000-4000-8000-000000000001",
|
|
192
|
-
"templateVersionId": "00000000-0000-4000-8000-000000000002",
|
|
193
|
-
},
|
|
194
|
-
)
|
|
195
|
-
assert pinned_update.artifact_selection["mode"] == "saved_template"
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
@responses.activate
|
|
199
|
-
def test_scheduled_results_and_templates_use_exact_unified_wire_names():
|
|
200
|
-
captured = []
|
|
201
|
-
|
|
202
|
-
def handler(request):
|
|
203
|
-
body = json.loads(request.body)
|
|
204
|
-
captured.append(body)
|
|
205
|
-
if body["params"]["name"] == "list_scheduled_runs":
|
|
206
|
-
result = {"ok": True, "items": [], "nextCursor": None}
|
|
207
|
-
else:
|
|
208
|
-
result = {"ok": True, "presets": [], "templates": []}
|
|
209
|
-
return (
|
|
210
|
-
200,
|
|
211
|
-
{},
|
|
212
|
-
json.dumps(
|
|
213
|
-
{
|
|
214
|
-
"jsonrpc": "2.0",
|
|
215
|
-
"id": body["id"],
|
|
216
|
-
"result": {"structuredContent": result},
|
|
217
|
-
}
|
|
218
|
-
),
|
|
219
|
-
)
|
|
220
|
-
|
|
221
|
-
responses.add_callback(
|
|
222
|
-
responses.POST,
|
|
223
|
-
"https://mcpscraper.dev/mcp",
|
|
224
|
-
callback=handler,
|
|
225
|
-
content_type="application/json",
|
|
226
|
-
)
|
|
227
|
-
|
|
228
|
-
client = McpToolsClient(api_key="sk_test")
|
|
229
|
-
runs = client.schedule.list_scheduled_runs(view="inbox", limit=30)
|
|
230
|
-
templates = client.schedule.list_artifact_templates(status="all")
|
|
231
|
-
|
|
232
|
-
assert captured[0]["params"] == {
|
|
233
|
-
"name": "list_scheduled_runs",
|
|
234
|
-
"arguments": {"view": "inbox", "limit": 30},
|
|
235
|
-
}
|
|
236
|
-
assert captured[1]["params"] == {
|
|
237
|
-
"name": "list_artifact_templates",
|
|
238
|
-
"arguments": {"status": "all"},
|
|
239
|
-
}
|
|
240
|
-
assert runs.next_cursor is None
|
|
241
|
-
assert templates.templates == []
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
@responses.activate
|
|
245
|
-
def test_memory_package_unified_client_calls_scraper_and_memory_tools():
|
|
246
|
-
session_result = {
|
|
247
|
-
"ok": True,
|
|
248
|
-
"tool": "browser_list_sessions",
|
|
249
|
-
"session_id": None,
|
|
250
|
-
"sessions": [],
|
|
251
|
-
"count": 0,
|
|
252
|
-
}
|
|
253
|
-
responses.add(
|
|
254
|
-
responses.POST,
|
|
255
|
-
"https://mcpscraper.dev/mcp",
|
|
256
|
-
json={"jsonrpc": "2.0", "id": 1, "result": {"structuredContent": session_result}},
|
|
257
|
-
status=200,
|
|
258
|
-
)
|
|
259
|
-
client = McpToolsClient(api_key="sk_test")
|
|
260
|
-
result = client.browser.list_sessions()
|
|
261
|
-
sent_body = json.loads(responses.calls[0].request.body)
|
|
262
|
-
assert sent_body["params"]["name"] == "browser_list_sessions"
|
|
263
|
-
assert result.model_dump(by_alias=True) == session_result
|