ghostcrawl 2.2.0

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 (371) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +46 -0
  3. data/README.md +127 -0
  4. data/_generated/ghostcrawl.rb +0 -0
  5. data/_generated/ghostcrawl_client.rb +27 -0
  6. data/_generated/models/audit_event_out.rb +802 -0
  7. data/_generated/models/audit_event_out_actor_ip_member1.rb +62 -0
  8. data/_generated/models/audit_event_out_actor_token_id_member1.rb +62 -0
  9. data/_generated/models/audit_event_out_actor_user_agent_member1.rb +62 -0
  10. data/_generated/models/audit_event_out_actor_user_id_member1.rb +62 -0
  11. data/_generated/models/audit_event_out_metadata.rb +62 -0
  12. data/_generated/models/audit_event_out_org_id_member1.rb +62 -0
  13. data/_generated/models/audit_event_out_target_id_member1.rb +62 -0
  14. data/_generated/models/audit_event_out_target_kind_member1.rb +62 -0
  15. data/_generated/models/audit_events_response.rb +173 -0
  16. data/_generated/models/audit_events_response_next_cursor_member1.rb +62 -0
  17. data/_generated/models/batch_scrape_request.rb +623 -0
  18. data/_generated/models/batch_scrape_request_behavior_actions_member1.rb +62 -0
  19. data/_generated/models/batch_scrape_request_behavior_actions_member2.rb +62 -0
  20. data/_generated/models/batch_scrape_request_extraction_strategy_member1.rb +62 -0
  21. data/_generated/models/batch_scrape_request_identity_country_member1.rb +62 -0
  22. data/_generated/models/batch_scrape_request_language_member1.rb +62 -0
  23. data/_generated/models/batch_scrape_request_output_format.rb +9 -0
  24. data/_generated/models/batch_scrape_request_profile_member1.rb +62 -0
  25. data/_generated/models/cdp_frame_request.rb +103 -0
  26. data/_generated/models/cdp_url_request.rb +82 -0
  27. data/_generated/models/checkout_request.rb +124 -0
  28. data/_generated/models/contact_request.rb +143 -0
  29. data/_generated/models/cookie_dict.rb +739 -0
  30. data/_generated/models/cookie_dict_domain_member1.rb +62 -0
  31. data/_generated/models/cookie_dict_expires_member1.rb +62 -0
  32. data/_generated/models/cookie_dict_http_only_member1.rb +62 -0
  33. data/_generated/models/cookie_dict_path_member1.rb +62 -0
  34. data/_generated/models/cookie_dict_same_site_member1.rb +62 -0
  35. data/_generated/models/cookie_dict_secure_member1.rb +62 -0
  36. data/_generated/models/cookie_dict_url_member1.rb +62 -0
  37. data/_generated/models/cookies_delete_body.rb +355 -0
  38. data/_generated/models/cookies_delete_body_domain_member1.rb +62 -0
  39. data/_generated/models/cookies_delete_body_name_member1.rb +62 -0
  40. data/_generated/models/cookies_delete_body_path_member1.rb +62 -0
  41. data/_generated/models/cookies_set_body.rb +102 -0
  42. data/_generated/models/deep_crawl_body.rb +339 -0
  43. data/_generated/models/deep_crawl_body_webhook_url_member1.rb +62 -0
  44. data/_generated/models/dom_snapshot_body.rb +82 -0
  45. data/_generated/models/download_body.rb +102 -0
  46. data/_generated/models/error_code.rb +31 -0
  47. data/_generated/models/eval_body.rb +102 -0
  48. data/_generated/models/extend_body.rb +155 -0
  49. data/_generated/models/extend_body_ttl_seconds_member1.rb +62 -0
  50. data/_generated/models/extract_request.rb +631 -0
  51. data/_generated/models/extract_request_behavior_actions_member1.rb +62 -0
  52. data/_generated/models/extract_request_behavior_actions_member2.rb +62 -0
  53. data/_generated/models/extract_request_engine.rb +12 -0
  54. data/_generated/models/extract_request_identity_country_member1.rb +62 -0
  55. data/_generated/models/extract_request_language_member1.rb +62 -0
  56. data/_generated/models/extract_request_prompt_member1.rb +62 -0
  57. data/_generated/models/extract_request_url_member1.rb +62 -0
  58. data/_generated/models/extract_request_urls_member1.rb +62 -0
  59. data/_generated/models/filter_spec.rb +62 -0
  60. data/_generated/models/h_t_t_p_validation_error.rb +84 -0
  61. data/_generated/models/har_body.rb +82 -0
  62. data/_generated/models/identity_payload.rb +144 -0
  63. data/_generated/models/identity_request.rb +833 -0
  64. data/_generated/models/identity_request_claim_browser_member1.rb +62 -0
  65. data/_generated/models/identity_request_claim_os_member1.rb +62 -0
  66. data/_generated/models/identity_request_device_model_member1.rb +62 -0
  67. data/_generated/models/identity_request_locale_member1.rb +62 -0
  68. data/_generated/models/identity_request_proxy_member1.rb +62 -0
  69. data/_generated/models/identity_request_source_member1.rb +62 -0
  70. data/_generated/models/identity_request_timezone_member1.rb +62 -0
  71. data/_generated/models/identity_request_viewport_member1.rb +62 -0
  72. data/_generated/models/identity_response.rb +357 -0
  73. data/_generated/models/identity_response_expires_at_member1.rb +62 -0
  74. data/_generated/models/identity_response_identity_id_member1.rb +62 -0
  75. data/_generated/models/identity_response_workspace_id_member1.rb +62 -0
  76. data/_generated/models/map_body.rb +238 -0
  77. data/_generated/models/map_body_search_member1.rb +62 -0
  78. data/_generated/models/map_response.rb +195 -0
  79. data/_generated/models/map_response_truncated_to_server_max_member1.rb +62 -0
  80. data/_generated/models/me_response.rb +233 -0
  81. data/_generated/models/me_response_created_at_member1.rb +62 -0
  82. data/_generated/models/models.rb +145 -0
  83. data/_generated/models/policy_upsert_request.rb +417 -0
  84. data/_generated/models/policy_upsert_request_max_crawl_pages_member1.rb +62 -0
  85. data/_generated/models/policy_upsert_request_max_llm_calls_member1.rb +62 -0
  86. data/_generated/models/policy_upsert_request_max_llm_tokens_member1.rb +62 -0
  87. data/_generated/models/problem_details.rb +226 -0
  88. data/_generated/models/profile_create_request.rb +175 -0
  89. data/_generated/models/profile_create_request_storage_state_id_member1.rb +62 -0
  90. data/_generated/models/profile_update_request.rb +246 -0
  91. data/_generated/models/profile_update_request_name_member1.rb +62 -0
  92. data/_generated/models/profile_update_request_storage_state_id_member1.rb +62 -0
  93. data/_generated/models/registry_token_request.rb +82 -0
  94. data/_generated/models/retry_delivery_response.rb +145 -0
  95. data/_generated/models/rotate_secret_response.rb +145 -0
  96. data/_generated/models/schedule_create_request.rb +256 -0
  97. data/_generated/models/schedule_create_request_job_params.rb +64 -0
  98. data/_generated/models/schedule_create_request_notify_webhook_member1.rb +62 -0
  99. data/_generated/models/scorer_spec.rb +102 -0
  100. data/_generated/models/scrape_request.rb +1142 -0
  101. data/_generated/models/scrape_request_batch_identity_mode.rb +10 -0
  102. data/_generated/models/scrape_request_behavior_actions_member1.rb +62 -0
  103. data/_generated/models/scrape_request_behavior_actions_member2.rb +62 -0
  104. data/_generated/models/scrape_request_engine.rb +12 -0
  105. data/_generated/models/scrape_request_format.rb +11 -0
  106. data/_generated/models/scrape_request_identity_country_member1.rb +62 -0
  107. data/_generated/models/scrape_request_identity_member1.rb +62 -0
  108. data/_generated/models/scrape_request_language_member1.rb +62 -0
  109. data/_generated/models/scrape_request_profile_member1.rb +62 -0
  110. data/_generated/models/scrape_request_proxy_member1.rb +62 -0
  111. data/_generated/models/scrape_request_screenshot_selector_member1.rb +62 -0
  112. data/_generated/models/scrape_request_session_member1.rb +62 -0
  113. data/_generated/models/scrape_request_url_member1.rb +62 -0
  114. data/_generated/models/scrape_request_urls_member1.rb +62 -0
  115. data/_generated/models/scroll_body.rb +284 -0
  116. data/_generated/models/scroll_body_direction.rb +11 -0
  117. data/_generated/models/scroll_body_distance_px_member1.rb +62 -0
  118. data/_generated/models/scroll_body_selector_member1.rb +62 -0
  119. data/_generated/models/search_request.rb +469 -0
  120. data/_generated/models/search_request_country_member1.rb +62 -0
  121. data/_generated/models/search_request_engine_member1.rb +62 -0
  122. data/_generated/models/search_request_freshness_member1.rb +62 -0
  123. data/_generated/models/search_request_vertical_member1.rb +62 -0
  124. data/_generated/models/session_create_request.rb +174 -0
  125. data/_generated/models/session_create_request_engine.rb +10 -0
  126. data/_generated/models/session_create_request_profile_member1.rb +62 -0
  127. data/_generated/models/storage_state_attach_request.rb +58 -0
  128. data/_generated/models/storage_state_detach_request.rb +58 -0
  129. data/_generated/models/takeover_action_body.rb +84 -0
  130. data/_generated/models/team_response.rb +142 -0
  131. data/_generated/models/tenant_context.rb +183 -0
  132. data/_generated/models/upload_body.rb +162 -0
  133. data/_generated/models/validation_error.rb +142 -0
  134. data/_generated/models/validation_error_ctx.rb +62 -0
  135. data/_generated/models/viewport_exact.rb +104 -0
  136. data/_generated/models/wait_body.rb +194 -0
  137. data/_generated/models/wait_body_selector_member1.rb +62 -0
  138. data/_generated/models/webhook_create_request.rb +125 -0
  139. data/_generated/models/webhook_create_response.rb +104 -0
  140. data/_generated/models/webhook_delivery_list_response.rb +195 -0
  141. data/_generated/models/webhook_delivery_list_response_next_cursor_member1.rb +62 -0
  142. data/_generated/models/webhook_delivery_public.rb +680 -0
  143. data/_generated/models/webhook_delivery_public_delivered_at_member1.rb +62 -0
  144. data/_generated/models/webhook_delivery_public_error_class_member1.rb +62 -0
  145. data/_generated/models/webhook_delivery_public_replay_of_member1.rb +62 -0
  146. data/_generated/models/webhook_delivery_public_response_body_preview_member1.rb +62 -0
  147. data/_generated/models/webhook_delivery_public_response_status_member1.rb +62 -0
  148. data/_generated/models/webhook_list_response.rb +195 -0
  149. data/_generated/models/webhook_list_response_next_cursor_member1.rb +62 -0
  150. data/_generated/models/webhook_public.rb +316 -0
  151. data/_generated/models/webhook_public_secret_rotated_at_member1.rb +62 -0
  152. data/_generated/v1/audit/audit.rb +0 -0
  153. data/_generated/v1/audit/audit_request_builder.rb +31 -0
  154. data/_generated/v1/audit/events/events.rb +0 -0
  155. data/_generated/v1/audit/events/events_request_builder.rb +93 -0
  156. data/_generated/v1/billing/billing.rb +0 -0
  157. data/_generated/v1/billing/billing_request_builder.rb +49 -0
  158. data/_generated/v1/billing/checkout/checkout.rb +0 -0
  159. data/_generated/v1/billing/checkout/checkout_request_builder.rb +74 -0
  160. data/_generated/v1/billing/portal/portal.rb +0 -0
  161. data/_generated/v1/billing/portal/portal_request_builder.rb +68 -0
  162. data/_generated/v1/billing/subscription/subscription.rb +0 -0
  163. data/_generated/v1/billing/subscription/subscription_request_builder.rb +68 -0
  164. data/_generated/v1/billing/usage/usage.rb +0 -0
  165. data/_generated/v1/billing/usage/usage_request_builder.rb +90 -0
  166. data/_generated/v1/binary/binary.rb +0 -0
  167. data/_generated/v1/binary/binary_request_builder.rb +31 -0
  168. data/_generated/v1/binary/download/download.rb +0 -0
  169. data/_generated/v1/binary/download/download_request_builder.rb +77 -0
  170. data/_generated/v1/budgets/budgets.rb +0 -0
  171. data/_generated/v1/budgets/budgets_request_builder.rb +37 -0
  172. data/_generated/v1/budgets/policy/item/item/item.rb +0 -0
  173. data/_generated/v1/budgets/policy/item/item/with_scope_item_request_builder.rb +74 -0
  174. data/_generated/v1/budgets/policy/item/item.rb +0 -0
  175. data/_generated/v1/budgets/policy/item/with_scope_type_item_request_builder.rb +43 -0
  176. data/_generated/v1/budgets/policy/policy.rb +0 -0
  177. data/_generated/v1/budgets/policy/policy_request_builder.rb +125 -0
  178. data/_generated/v1/budgets/usage/usage.rb +0 -0
  179. data/_generated/v1/budgets/usage/usage_request_builder.rb +77 -0
  180. data/_generated/v1/cdp/cdp.rb +0 -0
  181. data/_generated/v1/cdp/cdp_request_builder.rb +37 -0
  182. data/_generated/v1/cdp/frame/frame.rb +0 -0
  183. data/_generated/v1/cdp/frame/frame_request_builder.rb +74 -0
  184. data/_generated/v1/cdp/url/url.rb +0 -0
  185. data/_generated/v1/cdp/url/url_request_builder.rb +74 -0
  186. data/_generated/v1/contact/contact.rb +1 -0
  187. data/_generated/v1/contact/contact_post_response.rb +65 -0
  188. data/_generated/v1/contact/contact_request_builder.rb +71 -0
  189. data/_generated/v1/crawl/crawl.rb +0 -0
  190. data/_generated/v1/crawl/crawl_request_builder.rb +31 -0
  191. data/_generated/v1/crawl/deep/deep.rb +0 -0
  192. data/_generated/v1/crawl/deep/deep_request_builder.rb +86 -0
  193. data/_generated/v1/crawl/deep/item/item.rb +0 -0
  194. data/_generated/v1/crawl/deep/item/with_run_item_request_builder.rb +71 -0
  195. data/_generated/v1/crawl_runs/crawl_runs.rb +1 -0
  196. data/_generated/v1/crawl_runs/crawl_runs_post_request_body.rb +65 -0
  197. data/_generated/v1/crawl_runs/crawl_runs_request_builder.rb +133 -0
  198. data/_generated/v1/crawl_runs/item/cancel/cancel.rb +0 -0
  199. data/_generated/v1/crawl_runs/item/cancel/cancel_request_builder.rb +71 -0
  200. data/_generated/v1/crawl_runs/item/item.rb +0 -0
  201. data/_generated/v1/crawl_runs/item/resume/resume.rb +0 -0
  202. data/_generated/v1/crawl_runs/item/resume/resume_request_builder.rb +71 -0
  203. data/_generated/v1/crawl_runs/item/with_run_item_request_builder.rb +88 -0
  204. data/_generated/v1/datasets/datasets.rb +1 -0
  205. data/_generated/v1/datasets/datasets_post_request_body.rb +65 -0
  206. data/_generated/v1/datasets/datasets_request_builder.rb +125 -0
  207. data/_generated/v1/datasets/item/item.rb +0 -0
  208. data/_generated/v1/datasets/item/rows/append/append.rb +1 -0
  209. data/_generated/v1/datasets/item/rows/append/append_post_request_body.rb +74 -0
  210. data/_generated/v1/datasets/item/rows/append/append_request_builder.rb +79 -0
  211. data/_generated/v1/datasets/item/rows/rows.rb +0 -0
  212. data/_generated/v1/datasets/item/rows/rows_request_builder.rb +86 -0
  213. data/_generated/v1/datasets/item/with_name_item_request_builder.rb +104 -0
  214. data/_generated/v1/discovery/discovery.rb +0 -0
  215. data/_generated/v1/discovery/discovery_request_builder.rb +65 -0
  216. data/_generated/v1/engines/engines.rb +0 -0
  217. data/_generated/v1/engines/engines_request_builder.rb +31 -0
  218. data/_generated/v1/engines/manifest/manifest.rb +0 -0
  219. data/_generated/v1/engines/manifest/manifest_request_builder.rb +84 -0
  220. data/_generated/v1/extract/extract.rb +1 -0
  221. data/_generated/v1/extract/extract_post_response.rb +65 -0
  222. data/_generated/v1/extract/extract_request_builder.rb +79 -0
  223. data/_generated/v1/identity/identity.rb +0 -0
  224. data/_generated/v1/identity/identity_request_builder.rb +72 -0
  225. data/_generated/v1/kv/item/item.rb +1 -0
  226. data/_generated/v1/kv/item/with_key_item_request_builder.rb +133 -0
  227. data/_generated/v1/kv/item/with_key_put_request_body.rb +68 -0
  228. data/_generated/v1/kv/kv.rb +0 -0
  229. data/_generated/v1/kv/kv_request_builder.rb +37 -0
  230. data/_generated/v1/map/map.rb +0 -0
  231. data/_generated/v1/map/map_request_builder.rb +72 -0
  232. data/_generated/v1/me/export/export.rb +1 -0
  233. data/_generated/v1/me/export/export_get_response.rb +68 -0
  234. data/_generated/v1/me/export/export_request_builder.rb +68 -0
  235. data/_generated/v1/me/me.rb +0 -0
  236. data/_generated/v1/me/me_request_builder.rb +78 -0
  237. data/_generated/v1/me/usage/get_period_query_parameter_type.rb +13 -0
  238. data/_generated/v1/me/usage/usage.rb +2 -0
  239. data/_generated/v1/me/usage/usage_get_response.rb +68 -0
  240. data/_generated/v1/me/usage/usage_request_builder.rb +76 -0
  241. data/_generated/v1/page/cookies/cookies.rb +0 -0
  242. data/_generated/v1/page/cookies/cookies_request_builder.rb +150 -0
  243. data/_generated/v1/page/dom_snapshot/dom_snapshot.rb +0 -0
  244. data/_generated/v1/page/dom_snapshot/dom_snapshot_request_builder.rb +74 -0
  245. data/_generated/v1/page/download/download.rb +0 -0
  246. data/_generated/v1/page/download/download_request_builder.rb +74 -0
  247. data/_generated/v1/page/eval/eval.rb +0 -0
  248. data/_generated/v1/page/eval/eval_request_builder.rb +74 -0
  249. data/_generated/v1/page/har/har.rb +0 -0
  250. data/_generated/v1/page/har/har_request_builder.rb +74 -0
  251. data/_generated/v1/page/page.rb +0 -0
  252. data/_generated/v1/page/page_request_builder.rb +73 -0
  253. data/_generated/v1/page/scroll/scroll.rb +0 -0
  254. data/_generated/v1/page/scroll/scroll_request_builder.rb +74 -0
  255. data/_generated/v1/page/upload/upload.rb +0 -0
  256. data/_generated/v1/page/upload/upload_request_builder.rb +74 -0
  257. data/_generated/v1/page/wait/wait.rb +0 -0
  258. data/_generated/v1/page/wait/wait_request_builder.rb +74 -0
  259. data/_generated/v1/pricing/pricing.rb +0 -0
  260. data/_generated/v1/pricing/pricing_request_builder.rb +31 -0
  261. data/_generated/v1/pricing/public/public.rb +0 -0
  262. data/_generated/v1/pricing/public/public_request_builder.rb +65 -0
  263. data/_generated/v1/profiles/item/item.rb +0 -0
  264. data/_generated/v1/profiles/item/with_name_item_request_builder.rb +134 -0
  265. data/_generated/v1/profiles/profiles.rb +0 -0
  266. data/_generated/v1/profiles/profiles_request_builder.rb +126 -0
  267. data/_generated/v1/proxy_providers/proxy_providers.rb +0 -0
  268. data/_generated/v1/proxy_providers/proxy_providers_request_builder.rb +65 -0
  269. data/_generated/v1/queues/item/ack/ack.rb +1 -0
  270. data/_generated/v1/queues/item/ack/ack_post_request_body.rb +71 -0
  271. data/_generated/v1/queues/item/ack/ack_request_builder.rb +76 -0
  272. data/_generated/v1/queues/item/item.rb +0 -0
  273. data/_generated/v1/queues/item/pop/pop.rb +0 -0
  274. data/_generated/v1/queues/item/pop/pop_request_builder.rb +79 -0
  275. data/_generated/v1/queues/item/push/push.rb +1 -0
  276. data/_generated/v1/queues/item/push/push_post_request_body.rb +71 -0
  277. data/_generated/v1/queues/item/push/push_request_builder.rb +76 -0
  278. data/_generated/v1/queues/item/stats/stats.rb +0 -0
  279. data/_generated/v1/queues/item/stats/stats_request_builder.rb +71 -0
  280. data/_generated/v1/queues/item/with_name_item_request_builder.rb +52 -0
  281. data/_generated/v1/queues/queues.rb +0 -0
  282. data/_generated/v1/queues/queues_request_builder.rb +37 -0
  283. data/_generated/v1/recordings/item/item.rb +0 -0
  284. data/_generated/v1/recordings/item/recording_item_request_builder.rb +104 -0
  285. data/_generated/v1/recordings/item/visual/frames/frames.rb +0 -0
  286. data/_generated/v1/recordings/item/visual/frames/frames_request_builder.rb +93 -0
  287. data/_generated/v1/recordings/item/visual/start/start.rb +0 -0
  288. data/_generated/v1/recordings/item/visual/start/start_request_builder.rb +80 -0
  289. data/_generated/v1/recordings/item/visual/stop/stop.rb +0 -0
  290. data/_generated/v1/recordings/item/visual/stop/stop_request_builder.rb +80 -0
  291. data/_generated/v1/recordings/item/visual/visual.rb +0 -0
  292. data/_generated/v1/recordings/item/visual/visual_request_builder.rb +95 -0
  293. data/_generated/v1/recordings/recordings.rb +0 -0
  294. data/_generated/v1/recordings/recordings_request_builder.rb +90 -0
  295. data/_generated/v1/registry/registry.rb +0 -0
  296. data/_generated/v1/registry/registry_request_builder.rb +31 -0
  297. data/_generated/v1/registry/token/token.rb +0 -0
  298. data/_generated/v1/registry/token/token_request_builder.rb +74 -0
  299. data/_generated/v1/schedules/item/item.rb +0 -0
  300. data/_generated/v1/schedules/item/runs/runs.rb +0 -0
  301. data/_generated/v1/schedules/item/runs/runs_request_builder.rb +71 -0
  302. data/_generated/v1/schedules/item/with_schedule_item_request_builder.rb +104 -0
  303. data/_generated/v1/schedules/schedules.rb +0 -0
  304. data/_generated/v1/schedules/schedules_request_builder.rb +113 -0
  305. data/_generated/v1/scrape/batch/batch.rb +0 -0
  306. data/_generated/v1/scrape/batch/batch_request_builder.rb +82 -0
  307. data/_generated/v1/scrape/scrape.rb +0 -0
  308. data/_generated/v1/scrape/scrape_request_builder.rb +86 -0
  309. data/_generated/v1/screenshot_blobs/item/item.rb +0 -0
  310. data/_generated/v1/screenshot_blobs/item/with_ref_item_request_builder.rb +68 -0
  311. data/_generated/v1/screenshot_blobs/screenshot_blobs.rb +0 -0
  312. data/_generated/v1/screenshot_blobs/screenshot_blobs_request_builder.rb +37 -0
  313. data/_generated/v1/search/search.rb +0 -0
  314. data/_generated/v1/search/search_request_builder.rb +79 -0
  315. data/_generated/v1/sessions/create/create.rb +0 -0
  316. data/_generated/v1/sessions/create/create_request_builder.rb +74 -0
  317. data/_generated/v1/sessions/item/budget_stream/budget_stream.rb +0 -0
  318. data/_generated/v1/sessions/item/budget_stream/budget_stream_request_builder.rb +71 -0
  319. data/_generated/v1/sessions/item/extend/extend.rb +0 -0
  320. data/_generated/v1/sessions/item/extend/extend_request_builder.rb +77 -0
  321. data/_generated/v1/sessions/item/item.rb +0 -0
  322. data/_generated/v1/sessions/item/pin/pin.rb +0 -0
  323. data/_generated/v1/sessions/item/pin/pin_request_builder.rb +71 -0
  324. data/_generated/v1/sessions/item/profile_item_request_builder.rb +76 -0
  325. data/_generated/v1/sessions/item/recording/recording.rb +0 -0
  326. data/_generated/v1/sessions/item/recording/recording_request_builder.rb +43 -0
  327. data/_generated/v1/sessions/item/recording/start/start.rb +0 -0
  328. data/_generated/v1/sessions/item/recording/start/start_request_builder.rb +74 -0
  329. data/_generated/v1/sessions/item/recording/stop/stop.rb +0 -0
  330. data/_generated/v1/sessions/item/recording/stop/stop_request_builder.rb +74 -0
  331. data/_generated/v1/sessions/item/release/release.rb +0 -0
  332. data/_generated/v1/sessions/item/release/release_request_builder.rb +71 -0
  333. data/_generated/v1/sessions/item/takeover/takeover.rb +0 -0
  334. data/_generated/v1/sessions/item/takeover/takeover_request_builder.rb +77 -0
  335. data/_generated/v1/sessions/item/takeover_release/takeover_release.rb +0 -0
  336. data/_generated/v1/sessions/item/takeover_release/takeover_release_request_builder.rb +71 -0
  337. data/_generated/v1/sessions/item/takeover_token/takeover_token.rb +0 -0
  338. data/_generated/v1/sessions/item/takeover_token/takeover_token_request_builder.rb +71 -0
  339. data/_generated/v1/sessions/sessions.rb +0 -0
  340. data/_generated/v1/sessions/sessions_request_builder.rb +96 -0
  341. data/_generated/v1/storage_states/detach/detach.rb +0 -0
  342. data/_generated/v1/storage_states/detach/detach_request_builder.rb +74 -0
  343. data/_generated/v1/storage_states/item/attach/attach.rb +0 -0
  344. data/_generated/v1/storage_states/item/attach/attach_request_builder.rb +77 -0
  345. data/_generated/v1/storage_states/item/item.rb +0 -0
  346. data/_generated/v1/storage_states/item/with_id_or_name_item_request_builder.rb +104 -0
  347. data/_generated/v1/storage_states/storage_states.rb +1 -0
  348. data/_generated/v1/storage_states/storage_states_post_request_body.rb +65 -0
  349. data/_generated/v1/storage_states/storage_states_request_builder.rb +127 -0
  350. data/_generated/v1/updates/updates.rb +0 -0
  351. data/_generated/v1/updates/updates_request_builder.rb +75 -0
  352. data/_generated/v1/v1.rb +0 -0
  353. data/_generated/v1/v1_request_builder.rb +208 -0
  354. data/_generated/v1/webhooks/item/deliveries/deliveries.rb +0 -0
  355. data/_generated/v1/webhooks/item/deliveries/deliveries_request_builder.rb +97 -0
  356. data/_generated/v1/webhooks/item/deliveries/item/item.rb +0 -0
  357. data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_escaped.rb +0 -0
  358. data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_request_builder.rb +78 -0
  359. data/_generated/v1/webhooks/item/deliveries/item/with_delivery_item_request_builder.rb +40 -0
  360. data/_generated/v1/webhooks/item/item.rb +0 -0
  361. data/_generated/v1/webhooks/item/rotate_secret/rotate_secret.rb +0 -0
  362. data/_generated/v1/webhooks/item/rotate_secret/rotate_secret_request_builder.rb +72 -0
  363. data/_generated/v1/webhooks/item/with_webhook_item_request_builder.rb +111 -0
  364. data/_generated/v1/webhooks/webhooks.rb +0 -0
  365. data/_generated/v1/webhooks/webhooks_request_builder.rb +128 -0
  366. data/lib/ghostcrawl/client.rb +761 -0
  367. data/lib/ghostcrawl/error_codes.rb +104 -0
  368. data/lib/ghostcrawl/errors.rb +137 -0
  369. data/lib/ghostcrawl/version.rb +5 -0
  370. data/lib/ghostcrawl.rb +17 -0
  371. metadata +460 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b334d27abef5ab1cffd761032b5dbb056e1c28351bfc7fc12000d679f6b64a25
4
+ data.tar.gz: 357cca4fb48f3d8b0cd65b331ddafb0470f043db1f1b0218f2736f80fc355a51
5
+ SHA512:
6
+ metadata.gz: b6cdb4008a92220a153933750191377e527670f327d870f6650b3e1177fc53a293f0dd494d9da8a8d2328a589ca537fc91acddf07afeb0a976902502e1096b27
7
+ data.tar.gz: 33426ca08edc9eb51242a7be7d9114fc1c2d46743740d321f46c5c49d2e49d04f2491c68ed109688f2645a70c455c343aeecba44f62a199366e1703bbd4b810e
data/LICENSE ADDED
@@ -0,0 +1,46 @@
1
+ GhostCrawl Software License
2
+
3
+ Copyright (c) 2026 GhostCrawl, LLC. All rights reserved.
4
+
5
+ This software — including the GhostCrawl SDKs, command-line interface, example
6
+ code, documentation, and the GhostCrawl self-host image (collectively, the
7
+ "Software") — is the proprietary property of GhostCrawl, LLC ("GhostCrawl") and
8
+ its licensors. It is licensed, not sold.
9
+
10
+ 1. LICENSE GRANT. Subject to your continuous compliance with this License and the
11
+ GhostCrawl Terms of Service (https://docs.ghostcrawl.io/legal/terms),
12
+ GhostCrawl grants you a limited, revocable, non-exclusive, non-transferable,
13
+ and non-sublicensable license to install and use the Software, including
14
+ within your own applications, solely to access and use the GhostCrawl service
15
+ under a valid GhostCrawl account.
16
+
17
+ 2. RESTRICTIONS. Except as expressly permitted in Section 1, you may not, in
18
+ whole or in part: (a) copy the Software except as strictly necessary to use it
19
+ as permitted; (b) modify, adapt, translate, or create derivative works of the
20
+ Software; (c) distribute, publish, sublicense, sell, resell, rent, lease,
21
+ lend, or otherwise transfer the Software, or make it available to any third
22
+ party, including as a hosted or managed service; (d) reverse engineer,
23
+ decompile, disassemble, or otherwise attempt to derive the source code,
24
+ structure, or internal design of any compiled component of the Software;
25
+ (e) circumvent, disable, or tamper with any license, authentication,
26
+ usage-metering, watermarking, or security mechanism; or (f) remove, alter, or
27
+ obscure any proprietary, copyright, or attribution notice.
28
+
29
+ 3. OWNERSHIP. GhostCrawl and its licensors retain all right, title, and interest
30
+ in and to the Software and all intellectual property rights therein. No rights
31
+ are granted to you except as expressly set out in this License. All rights
32
+ reserved.
33
+
34
+ 4. TERMINATION. This License terminates automatically, without notice, if you
35
+ breach any of its terms or cease to maintain a valid GhostCrawl account where
36
+ one is required. Upon termination you must cease all use of the Software and
37
+ destroy all copies in your possession or control.
38
+
39
+ 5. NO WARRANTY; LIMITATION OF LIABILITY. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT
40
+ WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. TO THE MAXIMUM EXTENT PERMITTED BY
41
+ LAW, GHOSTCRAWL AND ITS LICENSORS WILL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR
42
+ OTHER LIABILITY ARISING FROM OR IN CONNECTION WITH THE SOFTWARE OR ITS USE. The
43
+ GhostCrawl Terms of Service and Acceptable Use Policy
44
+ (https://docs.ghostcrawl.io/legal/terms) are incorporated by reference.
45
+
46
+ For licensing inquiries, contact legal@ghostcrawl.io.
data/README.md ADDED
@@ -0,0 +1,127 @@
1
+ # ghostcrawl — Ruby SDK
2
+
3
+ The official Ruby client for the [GhostCrawl](https://ghostcrawl.io) API.
4
+ Collect web data at scale — scrape, crawl, search, and extract structured data.
5
+
6
+ ## Install
7
+
8
+ ```bash
9
+ gem install ghostcrawl
10
+ ```
11
+
12
+ Or in your `Gemfile`:
13
+
14
+ ```ruby
15
+ gem "ghostcrawl", "~> 2.1"
16
+ ```
17
+
18
+ Requires Ruby 3.0+. No runtime dependencies — uses stdlib `net/http` only.
19
+
20
+ ## Quickstart
21
+
22
+ ```ruby
23
+ require "ghostcrawl"
24
+
25
+ # Token from constructor or GHOSTCRAWL_API_KEY env var
26
+ client = Ghostcrawl::Client.new(token: "gck_live_YOUR_KEY")
27
+
28
+ # Scrape a URL
29
+ result = client.scrape(url: "https://example.com", format: "markdown")
30
+ puts result["content"]
31
+
32
+ # Start a crawl run
33
+ run = client.crawl_runs.start(url: "https://example.com", max_depth: 2, max_pages: 50)
34
+ puts "run_id: #{run["run_id"]}"
35
+
36
+ # Web search
37
+ results = client.search(query: "latest AI research", engine: "google", limit: 10)
38
+ puts results["results"].length
39
+ ```
40
+
41
+ ## Authentication
42
+
43
+ ```ruby
44
+ # Option 1: pass token directly
45
+ client = Ghostcrawl::Client.new(token: "gck_live_YOUR_KEY")
46
+
47
+ # Option 2: set environment variable (recommended for production)
48
+ # export GHOSTCRAWL_API_KEY=gck_live_YOUR_KEY
49
+ client = Ghostcrawl::Client.new
50
+ ```
51
+
52
+ Every request sends `Authorization: Bearer <token>`. This is the only auth scheme the API accepts.
53
+
54
+ ## Extract structured data
55
+
56
+ ```ruby
57
+ require "ghostcrawl"
58
+
59
+ client = Ghostcrawl::Client.new(token: "gck_live_YOUR_KEY")
60
+
61
+ data = client.extract(
62
+ url: "https://example.com/product",
63
+ schema: {
64
+ type: "object",
65
+ properties: {
66
+ name: { type: "string" },
67
+ price: { type: "number" },
68
+ description: { type: "string" }
69
+ }
70
+ }
71
+ )
72
+ puts "#{data["name"]} — $#{data["price"]}"
73
+ ```
74
+
75
+ ## Error handling
76
+
77
+ ```ruby
78
+ require "ghostcrawl"
79
+
80
+ client = Ghostcrawl::Client.new(token: "gck_live_YOUR_KEY")
81
+
82
+ begin
83
+ result = client.scrape(url: "https://example.com")
84
+ rescue Ghostcrawl::AuthenticationError
85
+ puts "Invalid API key — check your token"
86
+ rescue Ghostcrawl::PaymentRequiredError
87
+ puts "Usage limit reached — upgrade your plan"
88
+ rescue Ghostcrawl::RateLimitError
89
+ puts "Rate limit reached — retry after a short delay"
90
+ rescue Ghostcrawl::APIError => e
91
+ puts "Server error: #{e.status_code}"
92
+ rescue Ghostcrawl::GhostcrawlError => e
93
+ puts "API error: #{e.message} (#{e.status_code})"
94
+ end
95
+ ```
96
+
97
+ ## Self-hosted
98
+
99
+ ```ruby
100
+ client = Ghostcrawl::Client.new(
101
+ token: "gck_live_YOUR_KEY",
102
+ base_url: "http://localhost:8080"
103
+ )
104
+ ```
105
+
106
+ ## All resources
107
+
108
+ | Resource | Method / accessor | Key operations |
109
+ |----------|------------------|----------------|
110
+ | Scraping | `client.scrape(url:)` | Render and return page content |
111
+ | Web search | `client.search(query:)` | Search Google, Bing, DuckDuckGo |
112
+ | Data extraction | `client.extract(url:, schema:)` | Structured JSON from any page |
113
+ | Deep crawl | `client.crawl(url:)` | Crawl a site depth-first |
114
+ | URL map | `client.map(url:)` | Discover all reachable URLs |
115
+ | Account | `client.me` | Get account info and usage |
116
+ | Crawl runs | `client.crawl_runs` | start, list, get\_run, cancel |
117
+ | Sessions | `client.sessions` | create, list, extend, release |
118
+ | Profiles | `client.profiles` | list, get\_profile, create, update, delete |
119
+ | Webhooks | `client.webhooks` | list, get\_webhook, create, delete, rotate\_secret |
120
+ | Schedules | `client.schedules` | list, get\_schedule, create, delete |
121
+ | Datasets | `client.datasets` | list, get\_dataset, create, delete, rows, append |
122
+ | Recordings | `client.recordings` | list, get\_recording, delete |
123
+ | Key-Value Store | `client.kv` | get, set, delete |
124
+
125
+ ## License
126
+
127
+ Proprietary — GhostCrawl Software License. See [LICENSE](LICENSE).
File without changes
@@ -0,0 +1,27 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require 'microsoft_kiota_serialization_json'
3
+ require_relative './ghostcrawl'
4
+ require_relative './v1/v1_request_builder'
5
+
6
+ module Ghostcrawl
7
+ ##
8
+ # The main entry point of the SDK, exposes the configuration and the fluent API.
9
+ class GhostcrawlClient < MicrosoftKiotaAbstractions::BaseRequestBuilder
10
+
11
+ ##
12
+ # The v1 property
13
+ def v1()
14
+ return Ghostcrawl::V1::V1RequestBuilder.new(@path_parameters, @request_adapter)
15
+ end
16
+ ##
17
+ ## Instantiates a new GhostcrawlClient and sets the default values.
18
+ ## @param request_adapter The request adapter to use to execute the requests.
19
+ ## @return a void
20
+ ##
21
+ def initialize(request_adapter)
22
+ super(Hash.new, request_adapter, "{+baseurl}")
23
+ MicrosoftKiotaAbstractions::ApiClientBuilder.register_default_serializer(MicrosoftKiotaSerializationJson::JsonSerializationWriterFactory)
24
+ MicrosoftKiotaAbstractions::ApiClientBuilder.register_default_deserializer(MicrosoftKiotaSerializationJson::JsonParseNodeFactory)
25
+ end
26
+ end
27
+ end