bytekit-sdk 0.9.3__tar.gz → 0.9.4__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 (281) hide show
  1. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/.gitignore +2 -0
  2. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/CHANGELOG.md +18 -0
  3. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/PKG-INFO +1 -1
  4. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/pyproject.toml +1 -1
  5. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/__init__.py +22 -10
  6. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_mandatory_scrape_item_formats.py +45 -0
  7. bytekit_sdk-0.9.4/src/bytekit/models/bulk_mandatory_scrape_item_formats_json_type_0.py +47 -0
  8. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults.py +39 -7
  9. bytekit_sdk-0.9.3/src/bytekit/models/create_bulk_body_defaults_formats_item.py → bytekit_sdk-0.9.4/src/bytekit/models/create_bulk_body_defaults_formats_item_type_0.py +1 -1
  10. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_items_item.py +40 -7
  11. bytekit_sdk-0.9.3/src/bytekit/models/create_bulk_body_items_item_formats_item.py → bytekit_sdk-0.9.4/src/bytekit/models/create_bulk_body_items_item_formats_item_type_0.py +1 -1
  12. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_body_defaults.py +50 -7
  13. bytekit_sdk-0.9.3/src/bytekit/models/create_scrape_bulk_body_defaults_formats_item.py → bytekit_sdk-0.9.4/src/bytekit/models/create_scrape_bulk_body_defaults_formats_item_type_0.py +1 -1
  14. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_body_items_item.py +45 -7
  15. bytekit_sdk-0.9.3/src/bytekit/models/create_scrape_bulk_body_items_item_formats_item.py → bytekit_sdk-0.9.4/src/bytekit/models/create_scrape_bulk_body_items_item_formats_item_type_0.py +1 -1
  16. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0.py +3 -2
  17. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_artifacts.py +64 -2
  18. bytekit_sdk-0.9.4/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_artifacts_json_type_0.py +48 -0
  19. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request.py +4 -4
  20. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_json_format.py +13 -6
  21. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/LICENSE +0 -0
  22. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/README.md +0 -0
  23. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/__init__.py +0 -0
  24. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/__init__.py +0 -0
  25. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/account/__init__.py +0 -0
  26. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/account/get_account.py +0 -0
  27. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/bulk/__init__.py +0 -0
  28. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/bulk/create_bulk.py +0 -0
  29. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/bulk/delete_bulk.py +0 -0
  30. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/bulk/get_bulk.py +0 -0
  31. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/bulk/list_bulk_screenshots.py +0 -0
  32. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/fetch/__init__.py +0 -0
  33. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/fetch/get_fetch.py +0 -0
  34. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/fetch/post_fetch.py +0 -0
  35. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/fetch_bulk/__init__.py +0 -0
  36. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/fetch_bulk/create_fetch_bulk.py +0 -0
  37. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/fetch_bulk/get_fetch_bulk.py +0 -0
  38. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/__init__.py +0 -0
  39. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/create_monitor.py +0 -0
  40. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/delete_monitor.py +0 -0
  41. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/get_monitor.py +0 -0
  42. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/list_monitor_captures.py +0 -0
  43. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/list_monitors.py +0 -0
  44. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/monitors/update_monitor.py +0 -0
  45. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/scrape/__init__.py +0 -0
  46. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/scrape/create_scrape.py +0 -0
  47. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/scrape/get_scrape.py +0 -0
  48. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/scrape_bulk/__init__.py +0 -0
  49. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/scrape_bulk/create_scrape_bulk.py +0 -0
  50. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/scrape_bulk/get_scrape_bulk.py +0 -0
  51. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/screenshots/__init__.py +0 -0
  52. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/screenshots/create_screenshot.py +0 -0
  53. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/screenshots/get_screenshot.py +0 -0
  54. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/search/__init__.py +0 -0
  55. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/search/create_search.py +0 -0
  56. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/sitemap/__init__.py +0 -0
  57. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/sitemap/create_sitemap.py +0 -0
  58. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/sitemap/get_sitemap.py +0 -0
  59. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/usage/__init__.py +0 -0
  60. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/usage/get_usage.py +0 -0
  61. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/usage/get_usage_by_endpoint.py +0 -0
  62. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/usage/get_usage_daily.py +0 -0
  63. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/webhooks/__init__.py +0 -0
  64. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/webhooks/list_webhook_deliveries.py +0 -0
  65. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/api/webhooks/retry_webhook_delivery.py +0 -0
  66. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/client.py +0 -0
  67. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/errors.py +0 -0
  68. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/facade.py +0 -0
  69. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response.py +0 -0
  70. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_api_key.py +0 -0
  71. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_api_key_environment.py +0 -0
  72. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_auto_topup.py +0 -0
  73. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_plan.py +0 -0
  74. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_subscription.py +0 -0
  75. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_subscription_plan.py +0 -0
  76. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_bearer_response_subscription_status.py +0 -0
  77. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_session_response.py +0 -0
  78. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_session_response_notifications.py +0 -0
  79. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/account_session_response_plan.py +0 -0
  80. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bandwidth_balance.py +0 -0
  81. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/billing_factor.py +0 -0
  82. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/billing_factor_name.py +0 -0
  83. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/billing_node.py +0 -0
  84. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_completed_webhook.py +0 -0
  85. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_job_counters.py +0 -0
  86. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_mandatory_scrape_item.py +0 -0
  87. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_mandatory_scrape_item_error.py +0 -0
  88. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_mandatory_scrape_item_terminal_outcome.py +0 -0
  89. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/bulk_mandatory_scrape_item_type.py +0 -0
  90. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/capture_response.py +0 -0
  91. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/capture_response_outcome.py +0 -0
  92. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/clip.py +0 -0
  93. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body.py +0 -0
  94. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_device.py +0 -0
  95. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +0 -0
  96. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +0 -0
  97. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +0 -0
  98. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_type.py +0 -0
  99. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_viewport_type_0.py +0 -0
  100. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_defaults_wait_until.py +0 -0
  101. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_items_item_device.py +0 -0
  102. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_items_item_scenario.py +0 -0
  103. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_items_item_type.py +0 -0
  104. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_items_item_viewport_type_0.py +0 -0
  105. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_body_items_item_wait_until.py +0 -0
  106. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_202.py +0 -0
  107. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_202_status.py +0 -0
  108. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_403.py +0 -0
  109. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_403_blocked_item.py +0 -0
  110. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_403_blocked_item_error_code.py +0 -0
  111. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_403_blocked_item_rule_type.py +0 -0
  112. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_403_error.py +0 -0
  113. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_bulk_response_403_error_code.py +0 -0
  114. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_body.py +0 -0
  115. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_body_defaults.py +0 -0
  116. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +0 -0
  117. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_202.py +0 -0
  118. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_202_status.py +0 -0
  119. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_403.py +0 -0
  120. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_403_blocked_item.py +0 -0
  121. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_403_blocked_item_error_code.py +0 -0
  122. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_403_blocked_item_rule_type.py +0 -0
  123. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_403_error.py +0 -0
  124. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_fetch_bulk_response_403_error_code.py +0 -0
  125. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_body.py +0 -0
  126. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_body_custom.py +0 -0
  127. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_body_items_item_custom.py +0 -0
  128. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_202.py +0 -0
  129. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_202_status.py +0 -0
  130. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_403.py +0 -0
  131. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_403_blocked_item.py +0 -0
  132. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_403_blocked_item_error_code.py +0 -0
  133. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_403_blocked_item_rule_type.py +0 -0
  134. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_403_error.py +0 -0
  135. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_scrape_bulk_response_403_error_code.py +0 -0
  136. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_body.py +0 -0
  137. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_body_date_range.py +0 -0
  138. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_body_type.py +0 -0
  139. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_response_200.py +0 -0
  140. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_response_200_results_item.py +0 -0
  141. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_response_200_results_item_image.py +0 -0
  142. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_response_503.py +0 -0
  143. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/create_search_response_503_error.py +0 -0
  144. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/credit_balance.py +0 -0
  145. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/delete_bulk_response_200.py +0 -0
  146. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/delete_bulk_response_200_status.py +0 -0
  147. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/error.py +0 -0
  148. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/error_error.py +0 -0
  149. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/error_status.py +0 -0
  150. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/fetch_request.py +0 -0
  151. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/fetch_request_cache_ttl_type_1.py +0 -0
  152. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/fetch_request_custom.py +0 -0
  153. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_bulk_response_200.py +0 -0
  154. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_bulk_response_200_status.py +0 -0
  155. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_bulk_response_202.py +0 -0
  156. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_bulk_response_202_status.py +0 -0
  157. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200.py +0 -0
  158. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_0.py +0 -0
  159. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_0_status.py +0 -0
  160. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1.py +0 -0
  161. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1_terminal_outcome.py +0 -0
  162. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1_type.py +0 -0
  163. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_200_status.py +0 -0
  164. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202.py +0 -0
  165. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_0.py +0 -0
  166. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_0_status.py +0 -0
  167. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1.py +0 -0
  168. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1_terminal_outcome.py +0 -0
  169. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1_type.py +0 -0
  170. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_response_202_status.py +0 -0
  171. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_bulk_status.py +0 -0
  172. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_fetch_cache_ttl_type_1.py +0 -0
  173. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_scrape_bulk_response_200.py +0 -0
  174. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_scrape_bulk_response_200_status.py +0 -0
  175. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_scrape_bulk_response_202.py +0 -0
  176. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_scrape_bulk_response_202_status.py +0 -0
  177. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_scrape_bulk_status.py +0 -0
  178. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_by_endpoint_response_200.py +0 -0
  179. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +0 -0
  180. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +0 -0
  181. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_by_endpoint_response_200_totals.py +0 -0
  182. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_daily_response_200.py +0 -0
  183. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_daily_response_200_data_item.py +0 -0
  184. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_response_200.py +0 -0
  185. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/get_usage_response_200_plan_type.py +0 -0
  186. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200.py +0 -0
  187. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_status.py +0 -0
  188. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_type.py +0 -0
  189. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1.py +0 -0
  190. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1_terminal_outcome.py +0 -0
  191. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1_type.py +0 -0
  192. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_bulk_screenshots_status.py +0 -0
  193. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_monitor_captures_response_200.py +0 -0
  194. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_monitors_response_200.py +0 -0
  195. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_monitors_status.py +0 -0
  196. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_webhook_deliveries_response_200.py +0 -0
  197. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/list_webhook_deliveries_status.py +0 -0
  198. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/metadata.py +0 -0
  199. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request.py +0 -0
  200. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request_interval_type.py +0 -0
  201. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request_notify_on.py +0 -0
  202. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request_options.py +0 -0
  203. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request_scrape_options.py +0 -0
  204. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request_type.py +0 -0
  205. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_request_webhook_headers.py +0 -0
  206. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_create_response.py +0 -0
  207. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_response.py +0 -0
  208. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_response_interval_type.py +0 -0
  209. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_response_metadata_type_0.py +0 -0
  210. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_response_status.py +0 -0
  211. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_response_type.py +0 -0
  212. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_response_webhook_headers_type_0.py +0 -0
  213. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request.py +0 -0
  214. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request_interval_type.py +0 -0
  215. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request_notify_on.py +0 -0
  216. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request_options.py +0 -0
  217. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request_scrape_options.py +0 -0
  218. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request_status.py +0 -0
  219. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/monitor_update_request_webhook_headers.py +0 -0
  220. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_error_envelope.py +0 -0
  221. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_error_envelope_error.py +0 -0
  222. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_error_envelope_error_code.py +0 -0
  223. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_error_envelope_schema_version.py +0 -0
  224. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_error_envelope_status.py +0 -0
  225. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_formats.py +0 -0
  226. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_formats_json.py +0 -0
  227. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_formats_json_data_type_0.py +0 -0
  228. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_markdown_tokens.py +0 -0
  229. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_metadata.py +0 -0
  230. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_queued_envelope.py +0 -0
  231. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_queued_envelope_schema_version.py +0 -0
  232. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_queued_envelope_status.py +0 -0
  233. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_cache_ttl_type_1.py +0 -0
  234. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_custom.py +0 -0
  235. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_events_item.py +0 -0
  236. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_formats_item.py +0 -0
  237. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_json_format_model.py +0 -0
  238. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_json_format_schema.py +0 -0
  239. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_json_format_type.py +0 -0
  240. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_markdown_images.py +0 -0
  241. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_markdown_links.py +0 -0
  242. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_markdown_mode.py +0 -0
  243. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_token_encoding.py +0 -0
  244. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_request_x_internal_scrape_path.py +0 -0
  245. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_scored_image.py +0 -0
  246. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_scored_link.py +0 -0
  247. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_stats.py +0 -0
  248. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_success_envelope.py +0 -0
  249. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_success_envelope_cache.py +0 -0
  250. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_success_envelope_custom.py +0 -0
  251. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_success_envelope_schema_version.py +0 -0
  252. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_success_envelope_status.py +0 -0
  253. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_table.py +0 -0
  254. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_table_kind.py +0 -0
  255. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_warning.py +0 -0
  256. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/scrape_warning_code.py +0 -0
  257. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request.py +0 -0
  258. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request_device.py +0 -0
  259. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request_device_scale_factor_type_1.py +0 -0
  260. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +0 -0
  261. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +0 -0
  262. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request_format.py +0 -0
  263. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_request_wait_until.py +0 -0
  264. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_response.py +0 -0
  265. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/screenshot_response_status.py +0 -0
  266. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_request.py +0 -0
  267. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_request_process_type_0.py +0 -0
  268. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_request_process_type_0_options.py +0 -0
  269. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_request_strategy.py +0 -0
  270. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_response.py +0 -0
  271. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_response_cache.py +0 -0
  272. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_response_metadata_type_0.py +0 -0
  273. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_response_process_type_0.py +0 -0
  274. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_response_sources_type_0.py +0 -0
  275. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/sitemap_response_status.py +0 -0
  276. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/viewport.py +0 -0
  277. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/webhook_delivery_response.py +0 -0
  278. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/webhook_delivery_response_event_type.py +0 -0
  279. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/models/webhook_delivery_response_status.py +0 -0
  280. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/py.typed +0 -0
  281. {bytekit_sdk-0.9.3 → bytekit_sdk-0.9.4}/src/bytekit/types.py +0 -0
@@ -38,6 +38,8 @@ yarn-error.log*
38
38
  coverage/
39
39
  tests/e2e/results.json
40
40
  tests/e2e/billing/results.json
41
+ tests/e2e/billing/cleanup-residue.json
42
+ tests/e2e/billing/clerk-residue.json
41
43
  tests/e2e/.sweep/
42
44
  .playwright-mcp/
43
45
  # Local Playwright persistent context for ux-design/markup-verification (Chromium profile + Clerk session)
@@ -5,6 +5,24 @@ PyPI distribution: `bytekit-sdk`. Import name: `bytekit`.
5
5
 
6
6
  ## Unreleased
7
7
 
8
+ ## 0.9.4
9
+
10
+ _Unreleased; 0.9.3 is the latest on PyPI._
11
+
12
+ ### Changed
13
+
14
+ - **The `json` format is accepted in the bulk `formats` too** (#5133) — the `defaults` and
15
+ `items[]` `formats` of `create_scrape_bulk` and `create_bulk` take the string formats or one
16
+ `ScrapeRequestJsonFormat` entry, as `ScrapeRequest.formats` already does. The `schema` of a
17
+ `json` entry is a free-form object, so it takes any JSON Schema. **Breaking for the bulk enum
18
+ imports:** the four bulk `formats` item enums that were a single string enum are now a union of
19
+ that enum and the `json` entry, so `CreateBulkBodyDefaultsFormatsItem`,
20
+ `CreateBulkBodyItemsItemFormatsItem`, `CreateScrapeBulkBodyDefaultsFormatsItem` and
21
+ `CreateScrapeBulkBodyItemsItemFormatsItem` become `...FormatsItemType0` (the enum, in
22
+ `models/<name>_type_0.py`); `ScrapeRequestFormatsItem` is unchanged. The bulk-result
23
+ `artifacts` and bounded `formats` objects gain `json`. Regenerated from
24
+ `docs/api/openapi.yaml`.
25
+
8
26
  ## 0.9.3
9
27
 
10
28
  _Release cut 2026-10-03._
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: bytekit-sdk
3
- Version: 0.9.3
3
+ Version: 0.9.4
4
4
  Summary: Official Python SDK for the ByteKit API
5
5
  Project-URL: Homepage, https://bytekit.com
6
6
  Project-URL: Repository, https://github.com/Hunt-Labs-Inc/ByteKit
@@ -7,7 +7,7 @@
7
7
  # `pip install bytekit-sdk` yields a working `import bytekit`. Mirrors the npm sibling
8
8
  # @hunt-labs/bytekit-sdk.
9
9
  name = "bytekit-sdk"
10
- version = "0.9.3"
10
+ version = "0.9.4"
11
11
  description = "Official Python SDK for the ByteKit API"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -25,6 +25,9 @@ from .bulk_job_counters import BulkJobCounters
25
25
  from .bulk_mandatory_scrape_item import BulkMandatoryScrapeItem
26
26
  from .bulk_mandatory_scrape_item_error import BulkMandatoryScrapeItemError
27
27
  from .bulk_mandatory_scrape_item_formats import BulkMandatoryScrapeItemFormats
28
+ from .bulk_mandatory_scrape_item_formats_json_type_0 import (
29
+ BulkMandatoryScrapeItemFormatsJsonType0,
30
+ )
28
31
  from .bulk_mandatory_scrape_item_terminal_outcome import (
29
32
  BulkMandatoryScrapeItemTerminalOutcome,
30
33
  )
@@ -44,7 +47,9 @@ from .create_bulk_body_defaults_device_scale_factor_type_2_type_1 import (
44
47
  from .create_bulk_body_defaults_device_scale_factor_type_3_type_1 import (
45
48
  CreateBulkBodyDefaultsDeviceScaleFactorType3Type1,
46
49
  )
47
- from .create_bulk_body_defaults_formats_item import CreateBulkBodyDefaultsFormatsItem
50
+ from .create_bulk_body_defaults_formats_item_type_0 import (
51
+ CreateBulkBodyDefaultsFormatsItemType0,
52
+ )
48
53
  from .create_bulk_body_defaults_type import CreateBulkBodyDefaultsType
49
54
  from .create_bulk_body_defaults_viewport_type_0 import (
50
55
  CreateBulkBodyDefaultsViewportType0,
@@ -52,7 +57,9 @@ from .create_bulk_body_defaults_viewport_type_0 import (
52
57
  from .create_bulk_body_defaults_wait_until import CreateBulkBodyDefaultsWaitUntil
53
58
  from .create_bulk_body_items_item import CreateBulkBodyItemsItem
54
59
  from .create_bulk_body_items_item_device import CreateBulkBodyItemsItemDevice
55
- from .create_bulk_body_items_item_formats_item import CreateBulkBodyItemsItemFormatsItem
60
+ from .create_bulk_body_items_item_formats_item_type_0 import (
61
+ CreateBulkBodyItemsItemFormatsItemType0,
62
+ )
56
63
  from .create_bulk_body_items_item_scenario import CreateBulkBodyItemsItemScenario
57
64
  from .create_bulk_body_items_item_type import CreateBulkBodyItemsItemType
58
65
  from .create_bulk_body_items_item_viewport_type_0 import (
@@ -93,15 +100,15 @@ from .create_fetch_bulk_response_403_error_code import (
93
100
  from .create_scrape_bulk_body import CreateScrapeBulkBody
94
101
  from .create_scrape_bulk_body_custom import CreateScrapeBulkBodyCustom
95
102
  from .create_scrape_bulk_body_defaults import CreateScrapeBulkBodyDefaults
96
- from .create_scrape_bulk_body_defaults_formats_item import (
97
- CreateScrapeBulkBodyDefaultsFormatsItem,
103
+ from .create_scrape_bulk_body_defaults_formats_item_type_0 import (
104
+ CreateScrapeBulkBodyDefaultsFormatsItemType0,
98
105
  )
99
106
  from .create_scrape_bulk_body_items_item import CreateScrapeBulkBodyItemsItem
100
107
  from .create_scrape_bulk_body_items_item_custom import (
101
108
  CreateScrapeBulkBodyItemsItemCustom,
102
109
  )
103
- from .create_scrape_bulk_body_items_item_formats_item import (
104
- CreateScrapeBulkBodyItemsItemFormatsItem,
110
+ from .create_scrape_bulk_body_items_item_formats_item_type_0 import (
111
+ CreateScrapeBulkBodyItemsItemFormatsItemType0,
105
112
  )
106
113
  from .create_scrape_bulk_response_202 import CreateScrapeBulkResponse202
107
114
  from .create_scrape_bulk_response_202_status import CreateScrapeBulkResponse202Status
@@ -204,6 +211,9 @@ from .list_bulk_screenshots_response_200_items_item_type_0 import (
204
211
  from .list_bulk_screenshots_response_200_items_item_type_0_artifacts import (
205
212
  ListBulkScreenshotsResponse200ItemsItemType0Artifacts,
206
213
  )
214
+ from .list_bulk_screenshots_response_200_items_item_type_0_artifacts_json_type_0 import (
215
+ ListBulkScreenshotsResponse200ItemsItemType0ArtifactsJsonType0,
216
+ )
207
217
  from .list_bulk_screenshots_response_200_items_item_type_0_status import (
208
218
  ListBulkScreenshotsResponse200ItemsItemType0Status,
209
219
  )
@@ -336,6 +346,7 @@ __all__ = (
336
346
  "BulkMandatoryScrapeItem",
337
347
  "BulkMandatoryScrapeItemError",
338
348
  "BulkMandatoryScrapeItemFormats",
349
+ "BulkMandatoryScrapeItemFormatsJsonType0",
339
350
  "BulkMandatoryScrapeItemTerminalOutcome",
340
351
  "BulkMandatoryScrapeItemType",
341
352
  "CaptureResponse",
@@ -347,13 +358,13 @@ __all__ = (
347
358
  "CreateBulkBodyDefaultsDeviceScaleFactorType1",
348
359
  "CreateBulkBodyDefaultsDeviceScaleFactorType2Type1",
349
360
  "CreateBulkBodyDefaultsDeviceScaleFactorType3Type1",
350
- "CreateBulkBodyDefaultsFormatsItem",
361
+ "CreateBulkBodyDefaultsFormatsItemType0",
351
362
  "CreateBulkBodyDefaultsType",
352
363
  "CreateBulkBodyDefaultsViewportType0",
353
364
  "CreateBulkBodyDefaultsWaitUntil",
354
365
  "CreateBulkBodyItemsItem",
355
366
  "CreateBulkBodyItemsItemDevice",
356
- "CreateBulkBodyItemsItemFormatsItem",
367
+ "CreateBulkBodyItemsItemFormatsItemType0",
357
368
  "CreateBulkBodyItemsItemScenario",
358
369
  "CreateBulkBodyItemsItemType",
359
370
  "CreateBulkBodyItemsItemViewportType0",
@@ -380,10 +391,10 @@ __all__ = (
380
391
  "CreateScrapeBulkBody",
381
392
  "CreateScrapeBulkBodyCustom",
382
393
  "CreateScrapeBulkBodyDefaults",
383
- "CreateScrapeBulkBodyDefaultsFormatsItem",
394
+ "CreateScrapeBulkBodyDefaultsFormatsItemType0",
384
395
  "CreateScrapeBulkBodyItemsItem",
385
396
  "CreateScrapeBulkBodyItemsItemCustom",
386
- "CreateScrapeBulkBodyItemsItemFormatsItem",
397
+ "CreateScrapeBulkBodyItemsItemFormatsItemType0",
387
398
  "CreateScrapeBulkResponse202",
388
399
  "CreateScrapeBulkResponse202Status",
389
400
  "CreateScrapeBulkResponse403",
@@ -445,6 +456,7 @@ __all__ = (
445
456
  "ListBulkScreenshotsResponse200",
446
457
  "ListBulkScreenshotsResponse200ItemsItemType0",
447
458
  "ListBulkScreenshotsResponse200ItemsItemType0Artifacts",
459
+ "ListBulkScreenshotsResponse200ItemsItemType0ArtifactsJsonType0",
448
460
  "ListBulkScreenshotsResponse200ItemsItemType0Status",
449
461
  "ListBulkScreenshotsResponse200ItemsItemType0Type",
450
462
  "ListBulkScreenshotsResponse200ItemsItemType1",
@@ -13,6 +13,9 @@ from attrs import field as _attrs_field
13
13
  from ..types import UNSET, Unset
14
14
 
15
15
  if TYPE_CHECKING:
16
+ from ..models.bulk_mandatory_scrape_item_formats_json_type_0 import (
17
+ BulkMandatoryScrapeItemFormatsJsonType0,
18
+ )
16
19
  from ..models.scrape_scored_image import ScrapeScoredImage
17
20
  from ..models.scrape_scored_link import ScrapeScoredLink
18
21
 
@@ -28,17 +31,24 @@ class BulkMandatoryScrapeItemFormats:
28
31
  Attributes:
29
32
  raw (Union[None, Unset, str]):
30
33
  markdown (Union[None, Unset, str]):
34
+ json (Union['BulkMandatoryScrapeItemFormatsJsonType0', None, Unset]): The item's `formats.json` result (`data`,
35
+ `validated`, `model`), present only when the job requested a `json` format and the serialized result fits the
36
+ 8,192-character bound; `null` when the item has no result.
31
37
  links (Union[None, Unset, list[Union['ScrapeScoredLink', str]]]):
32
38
  images (Union[None, Unset, list[Union['ScrapeScoredImage', str]]]):
33
39
  """
34
40
 
35
41
  raw: Union[None, Unset, str] = UNSET
36
42
  markdown: Union[None, Unset, str] = UNSET
43
+ json: Union["BulkMandatoryScrapeItemFormatsJsonType0", None, Unset] = UNSET
37
44
  links: Union[None, Unset, list[Union["ScrapeScoredLink", str]]] = UNSET
38
45
  images: Union[None, Unset, list[Union["ScrapeScoredImage", str]]] = UNSET
39
46
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
47
 
41
48
  def to_dict(self) -> dict[str, Any]:
49
+ from ..models.bulk_mandatory_scrape_item_formats_json_type_0 import (
50
+ BulkMandatoryScrapeItemFormatsJsonType0,
51
+ )
42
52
  from ..models.scrape_scored_image import ScrapeScoredImage
43
53
  from ..models.scrape_scored_link import ScrapeScoredLink
44
54
 
@@ -54,6 +64,14 @@ class BulkMandatoryScrapeItemFormats:
54
64
  else:
55
65
  markdown = self.markdown
56
66
 
67
+ json: Union[None, Unset, dict[str, Any]]
68
+ if isinstance(self.json, Unset):
69
+ json = UNSET
70
+ elif isinstance(self.json, BulkMandatoryScrapeItemFormatsJsonType0):
71
+ json = self.json.to_dict()
72
+ else:
73
+ json = self.json
74
+
57
75
  links: Union[None, Unset, list[Union[dict[str, Any], str]]]
58
76
  if isinstance(self.links, Unset):
59
77
  links = UNSET
@@ -93,6 +111,8 @@ class BulkMandatoryScrapeItemFormats:
93
111
  field_dict["raw"] = raw
94
112
  if markdown is not UNSET:
95
113
  field_dict["markdown"] = markdown
114
+ if json is not UNSET:
115
+ field_dict["json"] = json
96
116
  if links is not UNSET:
97
117
  field_dict["links"] = links
98
118
  if images is not UNSET:
@@ -102,6 +122,9 @@ class BulkMandatoryScrapeItemFormats:
102
122
 
103
123
  @classmethod
104
124
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
125
+ from ..models.bulk_mandatory_scrape_item_formats_json_type_0 import (
126
+ BulkMandatoryScrapeItemFormatsJsonType0,
127
+ )
105
128
  from ..models.scrape_scored_image import ScrapeScoredImage
106
129
  from ..models.scrape_scored_link import ScrapeScoredLink
107
130
 
@@ -125,6 +148,27 @@ class BulkMandatoryScrapeItemFormats:
125
148
 
126
149
  markdown = _parse_markdown(d.pop("markdown", UNSET))
127
150
 
151
+ def _parse_json(
152
+ data: object,
153
+ ) -> Union["BulkMandatoryScrapeItemFormatsJsonType0", None, Unset]:
154
+ if data is None:
155
+ return data
156
+ if isinstance(data, Unset):
157
+ return data
158
+ try:
159
+ if not isinstance(data, dict):
160
+ raise TypeError()
161
+ json_type_0 = BulkMandatoryScrapeItemFormatsJsonType0.from_dict(data)
162
+
163
+ return json_type_0
164
+ except: # noqa: E722
165
+ pass
166
+ return cast(
167
+ Union["BulkMandatoryScrapeItemFormatsJsonType0", None, Unset], data
168
+ )
169
+
170
+ json = _parse_json(d.pop("json", UNSET))
171
+
128
172
  def _parse_links(
129
173
  data: object,
130
174
  ) -> Union[None, Unset, list[Union["ScrapeScoredLink", str]]]:
@@ -208,6 +252,7 @@ class BulkMandatoryScrapeItemFormats:
208
252
  bulk_mandatory_scrape_item_formats = cls(
209
253
  raw=raw,
210
254
  markdown=markdown,
255
+ json=json,
211
256
  links=links,
212
257
  images=images,
213
258
  )
@@ -0,0 +1,47 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="BulkMandatoryScrapeItemFormatsJsonType0")
8
+
9
+
10
+ @_attrs_define
11
+ class BulkMandatoryScrapeItemFormatsJsonType0:
12
+ """The item's `formats.json` result (`data`, `validated`, `model`), present only when the job requested a `json` format
13
+ and the serialized result fits the 8,192-character bound; `null` when the item has no result.
14
+
15
+ """
16
+
17
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> dict[str, Any]:
20
+ field_dict: dict[str, Any] = {}
21
+ field_dict.update(self.additional_properties)
22
+
23
+ return field_dict
24
+
25
+ @classmethod
26
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
27
+ d = dict(src_dict)
28
+ bulk_mandatory_scrape_item_formats_json_type_0 = cls()
29
+
30
+ bulk_mandatory_scrape_item_formats_json_type_0.additional_properties = d
31
+ return bulk_mandatory_scrape_item_formats_json_type_0
32
+
33
+ @property
34
+ def additional_keys(self) -> list[str]:
35
+ return list(self.additional_properties.keys())
36
+
37
+ def __getitem__(self, key: str) -> Any:
38
+ return self.additional_properties[key]
39
+
40
+ def __setitem__(self, key: str, value: Any) -> None:
41
+ self.additional_properties[key] = value
42
+
43
+ def __delitem__(self, key: str) -> None:
44
+ del self.additional_properties[key]
45
+
46
+ def __contains__(self, key: str) -> bool:
47
+ return key in self.additional_properties
@@ -19,8 +19,8 @@ from ..models.create_bulk_body_defaults_device_scale_factor_type_2_type_1 import
19
19
  from ..models.create_bulk_body_defaults_device_scale_factor_type_3_type_1 import (
20
20
  CreateBulkBodyDefaultsDeviceScaleFactorType3Type1,
21
21
  )
22
- from ..models.create_bulk_body_defaults_formats_item import (
23
- CreateBulkBodyDefaultsFormatsItem,
22
+ from ..models.create_bulk_body_defaults_formats_item_type_0 import (
23
+ CreateBulkBodyDefaultsFormatsItemType0,
24
24
  )
25
25
  from ..models.create_bulk_body_defaults_type import CreateBulkBodyDefaultsType
26
26
  from ..models.create_bulk_body_defaults_wait_until import (
@@ -32,6 +32,7 @@ if TYPE_CHECKING:
32
32
  from ..models.create_bulk_body_defaults_viewport_type_0 import (
33
33
  CreateBulkBodyDefaultsViewportType0,
34
34
  )
35
+ from ..models.scrape_request_json_format import ScrapeRequestJsonFormat
35
36
 
36
37
 
37
38
  T = TypeVar("T", bound="CreateBulkBodyDefaults")
@@ -54,7 +55,7 @@ class CreateBulkBodyDefaults:
54
55
  country (Union[None, Unset, str]): ISO 3166-1 alpha-2. `null` is coerced to `US`.
55
56
  language (Union[None, Unset, str]):
56
57
  dark_mode (Union[Unset, bool]):
57
- formats (Union[Unset, list[CreateBulkBodyDefaultsFormatsItem]]):
58
+ formats (Union[Unset, list[Union['ScrapeRequestJsonFormat', CreateBulkBodyDefaultsFormatsItemType0]]]):
58
59
  wait_until (Union[Unset, CreateBulkBodyDefaultsWaitUntil]):
59
60
  wait_for_selector (Union[None, Unset, str]):
60
61
  delay_ms (Union[Unset, int]):
@@ -76,7 +77,10 @@ class CreateBulkBodyDefaults:
76
77
  country: Union[None, Unset, str] = UNSET
77
78
  language: Union[None, Unset, str] = UNSET
78
79
  dark_mode: Union[Unset, bool] = UNSET
79
- formats: Union[Unset, list[CreateBulkBodyDefaultsFormatsItem]] = UNSET
80
+ formats: Union[
81
+ Unset,
82
+ list[Union["ScrapeRequestJsonFormat", CreateBulkBodyDefaultsFormatsItemType0]],
83
+ ] = UNSET
80
84
  wait_until: Union[Unset, CreateBulkBodyDefaultsWaitUntil] = UNSET
81
85
  wait_for_selector: Union[None, Unset, str] = UNSET
82
86
  delay_ms: Union[Unset, int] = UNSET
@@ -130,11 +134,18 @@ class CreateBulkBodyDefaults:
130
134
 
131
135
  dark_mode = self.dark_mode
132
136
 
133
- formats: Union[Unset, list[str]] = UNSET
137
+ formats: Union[Unset, list[Union[dict[str, Any], str]]] = UNSET
134
138
  if not isinstance(self.formats, Unset):
135
139
  formats = []
136
140
  for formats_item_data in self.formats:
137
- formats_item = formats_item_data.value
141
+ formats_item: Union[dict[str, Any], str]
142
+ if isinstance(
143
+ formats_item_data, CreateBulkBodyDefaultsFormatsItemType0
144
+ ):
145
+ formats_item = formats_item_data.value
146
+ else:
147
+ formats_item = formats_item_data.to_dict()
148
+
138
149
  formats.append(formats_item)
139
150
 
140
151
  wait_until: Union[Unset, str] = UNSET
@@ -222,6 +233,7 @@ class CreateBulkBodyDefaults:
222
233
  from ..models.create_bulk_body_defaults_viewport_type_0 import (
223
234
  CreateBulkBodyDefaultsViewportType0,
224
235
  )
236
+ from ..models.scrape_request_json_format import ScrapeRequestJsonFormat
225
237
 
226
238
  d = dict(src_dict)
227
239
  _type_ = d.pop("type", UNSET)
@@ -275,7 +287,27 @@ class CreateBulkBodyDefaults:
275
287
  formats = []
276
288
  _formats = d.pop("formats", UNSET)
277
289
  for formats_item_data in _formats or []:
278
- formats_item = CreateBulkBodyDefaultsFormatsItem(formats_item_data)
290
+
291
+ def _parse_formats_item(
292
+ data: object,
293
+ ) -> Union[
294
+ "ScrapeRequestJsonFormat", CreateBulkBodyDefaultsFormatsItemType0
295
+ ]:
296
+ try:
297
+ if not isinstance(data, str):
298
+ raise TypeError()
299
+ formats_item_type_0 = CreateBulkBodyDefaultsFormatsItemType0(data)
300
+
301
+ return formats_item_type_0
302
+ except: # noqa: E722
303
+ pass
304
+ if not isinstance(data, dict):
305
+ raise TypeError()
306
+ formats_item_type_1 = ScrapeRequestJsonFormat.from_dict(data)
307
+
308
+ return formats_item_type_1
309
+
310
+ formats_item = _parse_formats_item(formats_item_data)
279
311
 
280
312
  formats.append(formats_item)
281
313
 
@@ -1,7 +1,7 @@
1
1
  from enum import Enum
2
2
 
3
3
 
4
- class CreateBulkBodyDefaultsFormatsItem(str, Enum):
4
+ class CreateBulkBodyDefaultsFormatsItemType0(str, Enum):
5
5
  IMAGES = "images"
6
6
  LINKS = "links"
7
7
  MARKDOWN = "markdown"
@@ -10,8 +10,8 @@ from typing import (
10
10
  from attrs import define as _attrs_define
11
11
 
12
12
  from ..models.create_bulk_body_items_item_device import CreateBulkBodyItemsItemDevice
13
- from ..models.create_bulk_body_items_item_formats_item import (
14
- CreateBulkBodyItemsItemFormatsItem,
13
+ from ..models.create_bulk_body_items_item_formats_item_type_0 import (
14
+ CreateBulkBodyItemsItemFormatsItemType0,
15
15
  )
16
16
  from ..models.create_bulk_body_items_item_scenario import (
17
17
  CreateBulkBodyItemsItemScenario,
@@ -27,6 +27,7 @@ if TYPE_CHECKING:
27
27
  CreateBulkBodyItemsItemViewportType0,
28
28
  )
29
29
  from ..models.metadata import Metadata
30
+ from ..models.scrape_request_json_format import ScrapeRequestJsonFormat
30
31
 
31
32
 
32
33
  T = TypeVar("T", bound="CreateBulkBodyItemsItem")
@@ -50,7 +51,8 @@ class CreateBulkBodyItemsItem:
50
51
  country (Union[None, Unset, str]): ISO 3166-1 alpha-2. `null` is coerced to `US`.
51
52
  language (Union[None, Unset, str]):
52
53
  dark_mode (Union[Unset, bool]):
53
- formats (Union[Unset, list[CreateBulkBodyItemsItemFormatsItem]]): Scrape output formats (scrape entries).
54
+ formats (Union[Unset, list[Union['ScrapeRequestJsonFormat', CreateBulkBodyItemsItemFormatsItemType0]]]): Scrape
55
+ output formats (scrape entries).
54
56
  wait_until (Union[Unset, CreateBulkBodyItemsItemWaitUntil]):
55
57
  wait_for_selector (Union[None, Unset, str]):
56
58
  delay_ms (Union[Unset, int]):
@@ -74,7 +76,10 @@ class CreateBulkBodyItemsItem:
74
76
  country: Union[None, Unset, str] = UNSET
75
77
  language: Union[None, Unset, str] = UNSET
76
78
  dark_mode: Union[Unset, bool] = UNSET
77
- formats: Union[Unset, list[CreateBulkBodyItemsItemFormatsItem]] = UNSET
79
+ formats: Union[
80
+ Unset,
81
+ list[Union["ScrapeRequestJsonFormat", CreateBulkBodyItemsItemFormatsItemType0]],
82
+ ] = UNSET
78
83
  wait_until: Union[Unset, CreateBulkBodyItemsItemWaitUntil] = UNSET
79
84
  wait_for_selector: Union[None, Unset, str] = UNSET
80
85
  delay_ms: Union[Unset, int] = UNSET
@@ -126,11 +131,18 @@ class CreateBulkBodyItemsItem:
126
131
 
127
132
  dark_mode = self.dark_mode
128
133
 
129
- formats: Union[Unset, list[str]] = UNSET
134
+ formats: Union[Unset, list[Union[dict[str, Any], str]]] = UNSET
130
135
  if not isinstance(self.formats, Unset):
131
136
  formats = []
132
137
  for formats_item_data in self.formats:
133
- formats_item = formats_item_data.value
138
+ formats_item: Union[dict[str, Any], str]
139
+ if isinstance(
140
+ formats_item_data, CreateBulkBodyItemsItemFormatsItemType0
141
+ ):
142
+ formats_item = formats_item_data.value
143
+ else:
144
+ formats_item = formats_item_data.to_dict()
145
+
134
146
  formats.append(formats_item)
135
147
 
136
148
  wait_until: Union[Unset, str] = UNSET
@@ -219,6 +231,7 @@ class CreateBulkBodyItemsItem:
219
231
  CreateBulkBodyItemsItemViewportType0,
220
232
  )
221
233
  from ..models.metadata import Metadata
234
+ from ..models.scrape_request_json_format import ScrapeRequestJsonFormat
222
235
 
223
236
  d = dict(src_dict)
224
237
  url = d.pop("url")
@@ -274,7 +287,27 @@ class CreateBulkBodyItemsItem:
274
287
  formats = []
275
288
  _formats = d.pop("formats", UNSET)
276
289
  for formats_item_data in _formats or []:
277
- formats_item = CreateBulkBodyItemsItemFormatsItem(formats_item_data)
290
+
291
+ def _parse_formats_item(
292
+ data: object,
293
+ ) -> Union[
294
+ "ScrapeRequestJsonFormat", CreateBulkBodyItemsItemFormatsItemType0
295
+ ]:
296
+ try:
297
+ if not isinstance(data, str):
298
+ raise TypeError()
299
+ formats_item_type_0 = CreateBulkBodyItemsItemFormatsItemType0(data)
300
+
301
+ return formats_item_type_0
302
+ except: # noqa: E722
303
+ pass
304
+ if not isinstance(data, dict):
305
+ raise TypeError()
306
+ formats_item_type_1 = ScrapeRequestJsonFormat.from_dict(data)
307
+
308
+ return formats_item_type_1
309
+
310
+ formats_item = _parse_formats_item(formats_item_data)
278
311
 
279
312
  formats.append(formats_item)
280
313
 
@@ -1,7 +1,7 @@
1
1
  from enum import Enum
2
2
 
3
3
 
4
- class CreateBulkBodyItemsItemFormatsItem(str, Enum):
4
+ class CreateBulkBodyItemsItemFormatsItemType0(str, Enum):
5
5
  IMAGES = "images"
6
6
  LINKS = "links"
7
7
  MARKDOWN = "markdown"
@@ -1,5 +1,6 @@
1
1
  from collections.abc import Mapping
2
2
  from typing import (
3
+ TYPE_CHECKING,
3
4
  Any,
4
5
  TypeVar,
5
6
  Union,
@@ -8,11 +9,15 @@ from typing import (
8
9
  from attrs import define as _attrs_define
9
10
  from attrs import field as _attrs_field
10
11
 
11
- from ..models.create_scrape_bulk_body_defaults_formats_item import (
12
- CreateScrapeBulkBodyDefaultsFormatsItem,
12
+ from ..models.create_scrape_bulk_body_defaults_formats_item_type_0 import (
13
+ CreateScrapeBulkBodyDefaultsFormatsItemType0,
13
14
  )
14
15
  from ..types import UNSET, Unset
15
16
 
17
+ if TYPE_CHECKING:
18
+ from ..models.scrape_request_json_format import ScrapeRequestJsonFormat
19
+
20
+
16
21
  T = TypeVar("T", bound="CreateScrapeBulkBodyDefaults")
17
22
 
18
23
 
@@ -20,7 +25,7 @@ T = TypeVar("T", bound="CreateScrapeBulkBodyDefaults")
20
25
  class CreateScrapeBulkBodyDefaults:
21
26
  """
22
27
  Attributes:
23
- formats (Union[Unset, list[CreateScrapeBulkBodyDefaultsFormatsItem]]):
28
+ formats (Union[Unset, list[Union['ScrapeRequestJsonFormat', CreateScrapeBulkBodyDefaultsFormatsItemType0]]]):
24
29
  country (Union[Unset, str]):
25
30
  delay_ms (Union[Unset, int]):
26
31
  timeout_ms (Union[Unset, int]):
@@ -33,7 +38,14 @@ class CreateScrapeBulkBodyDefaults:
33
38
  bytes applied only when cleaning succeeds.
34
39
  """
35
40
 
36
- formats: Union[Unset, list[CreateScrapeBulkBodyDefaultsFormatsItem]] = UNSET
41
+ formats: Union[
42
+ Unset,
43
+ list[
44
+ Union[
45
+ "ScrapeRequestJsonFormat", CreateScrapeBulkBodyDefaultsFormatsItemType0
46
+ ]
47
+ ],
48
+ ] = UNSET
37
49
  country: Union[Unset, str] = UNSET
38
50
  delay_ms: Union[Unset, int] = UNSET
39
51
  timeout_ms: Union[Unset, int] = UNSET
@@ -41,11 +53,18 @@ class CreateScrapeBulkBodyDefaults:
41
53
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
54
 
43
55
  def to_dict(self) -> dict[str, Any]:
44
- formats: Union[Unset, list[str]] = UNSET
56
+ formats: Union[Unset, list[Union[dict[str, Any], str]]] = UNSET
45
57
  if not isinstance(self.formats, Unset):
46
58
  formats = []
47
59
  for formats_item_data in self.formats:
48
- formats_item = formats_item_data.value
60
+ formats_item: Union[dict[str, Any], str]
61
+ if isinstance(
62
+ formats_item_data, CreateScrapeBulkBodyDefaultsFormatsItemType0
63
+ ):
64
+ formats_item = formats_item_data.value
65
+ else:
66
+ formats_item = formats_item_data.to_dict()
67
+
49
68
  formats.append(formats_item)
50
69
 
51
70
  country = self.country
@@ -74,11 +93,35 @@ class CreateScrapeBulkBodyDefaults:
74
93
 
75
94
  @classmethod
76
95
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
96
+ from ..models.scrape_request_json_format import ScrapeRequestJsonFormat
97
+
77
98
  d = dict(src_dict)
78
99
  formats = []
79
100
  _formats = d.pop("formats", UNSET)
80
101
  for formats_item_data in _formats or []:
81
- formats_item = CreateScrapeBulkBodyDefaultsFormatsItem(formats_item_data)
102
+
103
+ def _parse_formats_item(
104
+ data: object,
105
+ ) -> Union[
106
+ "ScrapeRequestJsonFormat", CreateScrapeBulkBodyDefaultsFormatsItemType0
107
+ ]:
108
+ try:
109
+ if not isinstance(data, str):
110
+ raise TypeError()
111
+ formats_item_type_0 = CreateScrapeBulkBodyDefaultsFormatsItemType0(
112
+ data
113
+ )
114
+
115
+ return formats_item_type_0
116
+ except: # noqa: E722
117
+ pass
118
+ if not isinstance(data, dict):
119
+ raise TypeError()
120
+ formats_item_type_1 = ScrapeRequestJsonFormat.from_dict(data)
121
+
122
+ return formats_item_type_1
123
+
124
+ formats_item = _parse_formats_item(formats_item_data)
82
125
 
83
126
  formats.append(formats_item)
84
127
 
@@ -1,7 +1,7 @@
1
1
  from enum import Enum
2
2
 
3
3
 
4
- class CreateScrapeBulkBodyDefaultsFormatsItem(str, Enum):
4
+ class CreateScrapeBulkBodyDefaultsFormatsItemType0(str, Enum):
5
5
  IMAGES = "images"
6
6
  LINKS = "links"
7
7
  MARKDOWN = "markdown"