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.
Files changed (388) hide show
  1. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/PKG-INFO +1 -1
  2. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/pyproject.toml +4 -1
  3. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_client.py +2 -2
  4. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/harvest_paa.py +1 -1
  5. mcpscraper_memory_sdk-0.28.0/scripts/generate_models.py +0 -156
  6. mcpscraper_memory_sdk-0.28.0/tests/test_client.py +0 -263
  7. mcpscraper_memory_sdk-0.28.0/uv.lock +0 -527
  8. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/.gitignore +0 -0
  9. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/README.md +0 -0
  10. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/__init__.py +0 -0
  11. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/_generated_client.py +0 -0
  12. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/_mcp_generated_client.py +0 -0
  13. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/client.py +0 -0
  14. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/errors.py +0 -0
  15. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/__init__.py +0 -0
  16. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_accept_share.py +0 -0
  17. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_approve_sender.py +0 -0
  18. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_decline_share.py +0 -0
  19. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_inbox_settings.py +0 -0
  20. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_invite_account.py +0 -0
  21. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_issue_key.py +0 -0
  22. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_list_approved_senders.py +0 -0
  23. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_list_keys.py +0 -0
  24. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_note_inbox.py +0 -0
  25. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_remove_approved_sender.py +0 -0
  26. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_revoke_key.py +0 -0
  27. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_revoke_share.py +0 -0
  28. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_set_scope.py +0 -0
  29. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_share_note.py +0 -0
  30. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_share_vault.py +0 -0
  31. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_swap_vault.py +0 -0
  32. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_switch_account.py +0 -0
  33. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/access_unlink_share.py +0 -0
  34. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/add_vault.py +0 -0
  35. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_activation_destination.py +0 -0
  36. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_campaign_link.py +0 -0
  37. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_export.py +0 -0
  38. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_create_form.py +0 -0
  39. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_acquisition.py +0 -0
  40. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_business_metrics.py +0 -0
  41. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_channel_breakdown.py +0 -0
  42. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_content.py +0 -0
  43. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_conversions.py +0 -0
  44. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_dimensions.py +0 -0
  45. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_entitlement.py +0 -0
  46. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_events.py +0 -0
  47. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_forecast.py +0 -0
  48. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_health.py +0 -0
  49. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_overview.py +0 -0
  50. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_paths.py +0 -0
  51. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_get_timeseries.py +0 -0
  52. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_import_crm_csv.py +0 -0
  53. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_activation_destinations.py +0 -0
  54. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_campaign_links.py +0 -0
  55. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_crm_imports.py +0 -0
  56. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_forms.py +0 -0
  57. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_pixels.py +0 -0
  58. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analytics_list_sites.py +0 -0
  59. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/analyze_site_similarity.py +0 -0
  60. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/archive_artifact_template.py +0 -0
  61. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/archive_read.py +0 -0
  62. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/archive_scheduled_run.py +0 -0
  63. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/audit_site.py +0 -0
  64. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_click.py +0 -0
  65. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_close.py +0 -0
  66. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_extension_delete.py +0 -0
  67. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_extension_import.py +0 -0
  68. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_extension_list.py +0 -0
  69. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_goto.py +0 -0
  70. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_list_replays.py +0 -0
  71. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_list_sessions.py +0 -0
  72. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_locate.py +0 -0
  73. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_open.py +0 -0
  74. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_press.py +0 -0
  75. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_profile_connect.py +0 -0
  76. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_profile_list.py +0 -0
  77. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_read.py +0 -0
  78. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_annotate.py +0 -0
  79. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_download.py +0 -0
  80. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_mark.py +0 -0
  81. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_start.py +0 -0
  82. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_replay_stop.py +0 -0
  83. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_screenshot.py +0 -0
  84. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_scroll.py +0 -0
  85. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/browser_type.py +0 -0
  86. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/bulk_delete_notes.py +0 -0
  87. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/call_service_connection_action.py +0 -0
  88. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/capture_serp_page_snapshots.py +0 -0
  89. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/capture_serp_snapshot.py +0 -0
  90. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/check_site_export.py +0 -0
  91. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_claim_publication.py +0 -0
  92. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_entity.py +0 -0
  93. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_entity_ledger.py +0 -0
  94. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_entity_linkset.py +0 -0
  95. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_proposal.py +0 -0
  96. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_get_publication.py +0 -0
  97. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_host_image.py +0 -0
  98. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_list_filters.py +0 -0
  99. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_list_needs_links.py +0 -0
  100. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_prepare_entity.py +0 -0
  101. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_prepare_publication.py +0 -0
  102. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_publish_editorial.py +0 -0
  103. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_save_filter.py +0 -0
  104. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_search_entities.py +0 -0
  105. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_submit_entity.py +0 -0
  106. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_update_editorial_article.py +0 -0
  107. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_validate_entity.py +0 -0
  108. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/commons_validate_publication.py +0 -0
  109. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/cost_usage.py +0 -0
  110. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_artifact_template.py +0 -0
  111. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_channel.py +0 -0
  112. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_editorial_reading_room.py +0 -0
  113. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_scheduled_action.py +0 -0
  114. {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
  115. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_secure_vault.py +0 -0
  116. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/create_webhook.py +0 -0
  117. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/credits_info.py +0 -0
  118. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/delete_note.py +0 -0
  119. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/delete_scheduled_action.py +0 -0
  120. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/delete_vault.py +0 -0
  121. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/describe_service_connection_tool.py +0 -0
  122. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/diff_page.py +0 -0
  123. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/directory_workflow.py +0 -0
  124. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/directory_workflow_status.py +0 -0
  125. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/editorial_reading_room_guide.py +0 -0
  126. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/export_connected_service_data.py +0 -0
  127. {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
  128. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/extract_site.py +0 -0
  129. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/extract_url.py +0 -0
  130. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_ad_search.py +0 -0
  131. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_ad_transcribe.py +0 -0
  132. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_page_intel.py +0 -0
  133. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/facebook_video_transcribe.py +0 -0
  134. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/fact_history.py +0 -0
  135. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/g2_reviews.py +0 -0
  136. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_artifact_template.py +0 -0
  137. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_artifact_template_example.py +0 -0
  138. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_chat_link.py +0 -0
  139. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_local_sourcebook_contract.py +0 -0
  140. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_message_note.py +0 -0
  141. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_schedule_link.py +0 -0
  142. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_schedule_status.py +0 -0
  143. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_scheduled_run.py +0 -0
  144. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_vault_app_link.py +0 -0
  145. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/get_vault_contract.py +0 -0
  146. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/gmail_search_contacts.py +0 -0
  147. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/gmail_send_message.py +0 -0
  148. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_ads_page_intel.py +0 -0
  149. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_ads_search.py +0 -0
  150. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_ads_transcribe.py +0 -0
  151. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/google_calendar_create_event.py +0 -0
  152. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_delete.py +0 -0
  153. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_get.py +0 -0
  154. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_list.py +0 -0
  155. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_move.py +0 -0
  156. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_save.py +0 -0
  157. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_asset_search.py +0 -0
  158. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_folder_create.py +0 -0
  159. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_folder_list.py +0 -0
  160. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_project_create.py +0 -0
  161. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/image_project_list.py +0 -0
  162. {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
  163. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/instagram_media_download.py +0 -0
  164. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/instagram_profile_content.py +0 -0
  165. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_enrich.py +0 -0
  166. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_enrich_status.py +0 -0
  167. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_import.py +0 -0
  168. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/lead_list_upload_start.py +0 -0
  169. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/library_ingest.py +0 -0
  170. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_artifact_templates.py +0 -0
  171. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_channel_members.py +0 -0
  172. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_channel_messages.py +0 -0
  173. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_local_sourcebook_tags.py +0 -0
  174. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_memory_tags.py +0 -0
  175. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_scheduled_actions.py +0 -0
  176. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_scheduled_runs.py +0 -0
  177. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_service_connections.py +0 -0
  178. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_shared_with_me.py +0 -0
  179. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_vaults.py +0 -0
  180. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/list_webhooks.py +0 -0
  181. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/local_sourcebook_capture.py +0 -0
  182. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/local_sourcebook_refresh.py +0 -0
  183. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/local_sourcebook_submission_status.py +0 -0
  184. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/location_markets.py +0 -0
  185. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/map_site_urls.py +0 -0
  186. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/map_wayback_snapshots.py +0 -0
  187. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/maps_place_intel.py +0 -0
  188. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/maps_search.py +0 -0
  189. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/mark_scheduled_run_opened.py +0 -0
  190. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/mark_scheduled_run_unopened.py +0 -0
  191. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_backlinks.py +0 -0
  192. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_capture.py +0 -0
  193. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_export.py +0 -0
  194. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_get.py +0 -0
  195. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_graph_path.py +0 -0
  196. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_graph_universe.py +0 -0
  197. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_list.py +0 -0
  198. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_put.py +0 -0
  199. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_questions.py +0 -0
  200. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_search.py +0 -0
  201. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_suggest.py +0 -0
  202. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/memory_upload.py +0 -0
  203. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/merge_memory_tags.py +0 -0
  204. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/meta_ad_creative_media.py +0 -0
  205. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/my_mentions.py +0 -0
  206. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/pause_scheduled_action.py +0 -0
  207. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/poll_channel.py +0 -0
  208. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/post_message.py +0 -0
  209. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/prepare_local_sourcebook_write.py +0 -0
  210. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/prepare_memory_write.py +0 -0
  211. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/propose_scheduled_action.py +0 -0
  212. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/provision_defaults.py +0 -0
  213. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/query_fanout_workflow.py +0 -0
  214. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/rank_tracker_workflow.py +0 -0
  215. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/react_message.py +0 -0
  216. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/read_service_connection.py +0 -0
  217. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/record_fact.py +0 -0
  218. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/reddit_thread.py +0 -0
  219. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/reddit_trending.py +0 -0
  220. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/remove_channel_member.py +0 -0
  221. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/renew_connected_data_download.py +0 -0
  222. {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
  223. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/reply_message.py +0 -0
  224. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/report_artifact_read.py +0 -0
  225. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/resolve_local_sourcebook_tags.py +0 -0
  226. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/resolve_memory_tags.py +0 -0
  227. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/resume_scheduled_action.py +0 -0
  228. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_chat_link.py +0 -0
  229. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_schedule_link.py +0 -0
  230. {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
  231. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_vault_app_link.py +0 -0
  232. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/revoke_webhook.py +0 -0
  233. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/route_memory.py +0 -0
  234. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/search_serp.py +0 -0
  235. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/serp_identity_create.py +0 -0
  236. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/serp_identity_delete.py +0 -0
  237. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/serp_identity_list.py +0 -0
  238. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_agent_identity.py +0 -0
  239. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_schedule_defaults.py +0 -0
  240. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_schedule_entitlement.py +0 -0
  241. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/set_scheduled_action_connections.py +0 -0
  242. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/site_export_image.py +0 -0
  243. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/site_export_read.py +0 -0
  244. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/slack_send_message.py +0 -0
  245. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/storage_usage.py +0 -0
  246. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_create.py +0 -0
  247. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_delete_rows.py +0 -0
  248. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_describe.py +0 -0
  249. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_drop.py +0 -0
  250. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_insert_rows.py +0 -0
  251. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_list.py +0 -0
  252. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/table_query.py +0 -0
  253. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/temporal_recall.py +0 -0
  254. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/test_service_connection.py +0 -0
  255. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/trustpilot_reviews.py +0 -0
  256. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/update_artifact_template.py +0 -0
  257. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/update_scheduled_action.py +0 -0
  258. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/upsert_memory_tag.py +0 -0
  259. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/validate_local_sourcebook_write.py +0 -0
  260. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/validate_memory_write.py +0 -0
  261. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_analyze_start.py +0 -0
  262. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_analyze_status.py +0 -0
  263. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_frame_analysis.py +0 -0
  264. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/video_frame_analysis_status.py +0 -0
  265. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_artifact_read.py +0 -0
  266. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_list.py +0 -0
  267. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_run.py +0 -0
  268. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_status.py +0 -0
  269. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_step.py +0 -0
  270. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/workflow_suggest.py +0 -0
  271. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/youtube_harvest.py +0 -0
  272. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/youtube_transcribe.py +0 -0
  273. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/mcp_models/zoom_create_meeting.py +0 -0
  274. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/__init__.py +0 -0
  275. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_accept_share.py +0 -0
  276. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_approve_sender.py +0 -0
  277. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_decline_share.py +0 -0
  278. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_inbox_settings.py +0 -0
  279. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_invite_account.py +0 -0
  280. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_issue_key.py +0 -0
  281. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_list_approved_senders.py +0 -0
  282. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_list_keys.py +0 -0
  283. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_note_inbox.py +0 -0
  284. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_remove_approved_sender.py +0 -0
  285. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_revoke_key.py +0 -0
  286. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_revoke_share.py +0 -0
  287. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_set_scope.py +0 -0
  288. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_share_note.py +0 -0
  289. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_share_vault.py +0 -0
  290. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_swap_vault.py +0 -0
  291. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_switch_account.py +0 -0
  292. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/access_unlink_share.py +0 -0
  293. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/add_vault.py +0 -0
  294. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/answer_inbox_item.py +0 -0
  295. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/archive_artifact_template.py +0 -0
  296. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/archive_scheduled_run.py +0 -0
  297. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/auto_optimization.py +0 -0
  298. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/bulk_delete_notes.py +0 -0
  299. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/cost_usage.py +0 -0
  300. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_artifact_template.py +0 -0
  301. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_channel.py +0 -0
  302. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_scheduled_action.py +0 -0
  303. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_secure_vault.py +0 -0
  304. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/create_webhook.py +0 -0
  305. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/delete_note.py +0 -0
  306. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/delete_scheduled_action.py +0 -0
  307. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/delete_vault.py +0 -0
  308. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/fact_history.py +0 -0
  309. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_artifact_template.py +0 -0
  310. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_chat_link.py +0 -0
  311. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_message_note.py +0 -0
  312. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_schedule_link.py +0 -0
  313. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_schedule_status.py +0 -0
  314. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_scheduled_run.py +0 -0
  315. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_vault_app_link.py +0 -0
  316. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/get_vault_contract.py +0 -0
  317. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_delete.py +0 -0
  318. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_get.py +0 -0
  319. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_list.py +0 -0
  320. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_move.py +0 -0
  321. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_save.py +0 -0
  322. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_asset_search.py +0 -0
  323. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_folder_create.py +0 -0
  324. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_folder_list.py +0 -0
  325. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_project_create.py +0 -0
  326. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/image_project_list.py +0 -0
  327. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/library_ingest.py +0 -0
  328. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_artifact_templates.py +0 -0
  329. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_channel_members.py +0 -0
  330. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_channel_messages.py +0 -0
  331. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_memory_tags.py +0 -0
  332. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_scheduled_action_runs.py +0 -0
  333. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_scheduled_actions.py +0 -0
  334. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_scheduled_runs.py +0 -0
  335. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_shared_with_me.py +0 -0
  336. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_vaults.py +0 -0
  337. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/list_webhooks.py +0 -0
  338. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/mark_scheduled_run_opened.py +0 -0
  339. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/mark_scheduled_run_unopened.py +0 -0
  340. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_backlinks.py +0 -0
  341. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_capture.py +0 -0
  342. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_export.py +0 -0
  343. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_get.py +0 -0
  344. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_graph_path.py +0 -0
  345. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_graph_universe.py +0 -0
  346. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_list.py +0 -0
  347. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_put.py +0 -0
  348. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_questions.py +0 -0
  349. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_search.py +0 -0
  350. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_suggest.py +0 -0
  351. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/memory_upload.py +0 -0
  352. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/merge_memory_tags.py +0 -0
  353. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/my_mentions.py +0 -0
  354. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/pause_scheduled_action.py +0 -0
  355. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/poll_channel.py +0 -0
  356. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/post_message.py +0 -0
  357. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/prepare_memory_write.py +0 -0
  358. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/propose_scheduled_action.py +0 -0
  359. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/provision_defaults.py +0 -0
  360. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/react_message.py +0 -0
  361. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/record_fact.py +0 -0
  362. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/remove_channel_member.py +0 -0
  363. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/reply_message.py +0 -0
  364. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/resolve_memory_tags.py +0 -0
  365. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/resume_scheduled_action.py +0 -0
  366. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_chat_link.py +0 -0
  367. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_schedule_link.py +0 -0
  368. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_vault_app_link.py +0 -0
  369. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/revoke_webhook.py +0 -0
  370. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/route_memory.py +0 -0
  371. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/set_agent_identity.py +0 -0
  372. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/set_schedule_defaults.py +0 -0
  373. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/set_schedule_entitlement.py +0 -0
  374. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/storage_usage.py +0 -0
  375. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_create.py +0 -0
  376. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_delete_rows.py +0 -0
  377. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_describe.py +0 -0
  378. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_drop.py +0 -0
  379. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_insert_rows.py +0 -0
  380. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_list.py +0 -0
  381. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/table_query.py +0 -0
  382. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/temporal_recall.py +0 -0
  383. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/update_artifact_template.py +0 -0
  384. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/update_scheduled_action.py +0 -0
  385. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/upsert_memory_tag.py +0 -0
  386. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/validate_memory_write.py +0 -0
  387. {mcpscraper_memory_sdk-0.28.0 → mcpscraper_memory_sdk-0.28.2}/src/mcpscraper_memory/models/video_analyze_start.py +0 -0
  388. {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.0
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.0"
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"]
@@ -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 = 300.0,
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"MCP request exceeded {self._request_timeout:g}s and was cancelled client-side. The operation may still be running.",
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="Retry key: reuse after a timeout to avoid re-billing. New key per harvest.")
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