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
@@ -0,0 +1,79 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/extract_request'
4
+ require_relative '../../models/h_t_t_p_validation_error'
5
+ require_relative '../../models/problem_details'
6
+ require_relative '../v1'
7
+ require_relative './extract'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Extract
12
+ ##
13
+ # Builds and executes requests for operations under #v1#extract
14
+ class ExtractRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new ExtractRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/extract")
24
+ end
25
+ ##
26
+ ## POST /v1/extract — structured extraction (deterministic default) + bring-your-own-model extraction.Two modes (selected by model_provider):DETERMINISTIC (model_provider absent — default): 1. The schema is validated (input guard). 2. The URL is validated against private/loopback/metadata targets. 3. The page is fetched and rendered. 4. Structured data is extracted via CSS/regex/keyword rules. 5. The result is validated against the schema — 422 on mismatch (field path only). Returns {"url","data","token_estimate"}.BRING-YOUR-OWN-MODEL (model_provider present): 1. Target URLs are resolved (urls or [url]). 2. The schema is validated if present. 3. At least one of prompt or schema is required — 400 prompt_or_schema_required otherwise. 4. Model credentials are validated — 400 invalid_model_provider on error (the message never echoes the key). 5. Every target URL is validated before fetching — 400 ssrf_blocked. 6. Each URL is fetched and converted to clean Markdown. 7. Your connected model performs the extraction. 8. With a schema present, the result is validated — 422 on mismatch. Returns {"urls","data","token_estimate"}.Security:- 401 without a valid Bearer token.- model_provider.api_key is request-scoped: never persisted, logged, or echoed.- Error responses never echo the schema body, fetched content, or credentials.
27
+ ## @param body POST /v1/extract request body — schema-driven extraction (deterministic) + bring-your-own-model extraction.Two extraction modes: - Deterministic (default, model_provider absent): CSS/regex/keyword extraction. Requires 'schema'. Returns {"url","data","token_estimate"}. - Bring-your-own-model (model_provider present): GhostCrawl fetches and prepares clean Markdown; your connected model performs the semantic extraction (you are not billed for model inference here, only the request quota). Returns {"urls","data","token_estimate"}.Security notes:- The 'schema' field is validated before any fetch (fail-fast input guard).- URLs are validated against private, loopback, and metadata targets before any fetch.- Error responses never echo the schema body, fetched content, or model credentials.- model_provider.api_key is request-scoped only: never persisted, logged, or returned in any response body or error message.
28
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
29
+ ## @return a Fiber of extract_post_response
30
+ ##
31
+ def post(body, request_configuration=nil)
32
+ raise StandardError, 'body cannot be null' if body.nil?
33
+ request_info = self.to_post_request_information(
34
+ body, request_configuration
35
+ )
36
+ error_mapping = Hash.new
37
+ error_mapping["400"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
38
+ error_mapping["401"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
39
+ error_mapping["402"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
40
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
41
+ error_mapping["429"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
42
+ error_mapping["500"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
43
+ error_mapping["503"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
44
+ error_mapping["504"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
45
+ return @request_adapter.send_async(request_info, lambda {|pn| Ghostcrawl::V1::Extract::ExtractPostResponse.create_from_discriminator_value(pn) }, error_mapping)
46
+ end
47
+ ##
48
+ ## POST /v1/extract — structured extraction (deterministic default) + bring-your-own-model extraction.Two modes (selected by model_provider):DETERMINISTIC (model_provider absent — default): 1. The schema is validated (input guard). 2. The URL is validated against private/loopback/metadata targets. 3. The page is fetched and rendered. 4. Structured data is extracted via CSS/regex/keyword rules. 5. The result is validated against the schema — 422 on mismatch (field path only). Returns {"url","data","token_estimate"}.BRING-YOUR-OWN-MODEL (model_provider present): 1. Target URLs are resolved (urls or [url]). 2. The schema is validated if present. 3. At least one of prompt or schema is required — 400 prompt_or_schema_required otherwise. 4. Model credentials are validated — 400 invalid_model_provider on error (the message never echoes the key). 5. Every target URL is validated before fetching — 400 ssrf_blocked. 6. Each URL is fetched and converted to clean Markdown. 7. Your connected model performs the extraction. 8. With a schema present, the result is validated — 422 on mismatch. Returns {"urls","data","token_estimate"}.Security:- 401 without a valid Bearer token.- model_provider.api_key is request-scoped: never persisted, logged, or echoed.- Error responses never echo the schema body, fetched content, or credentials.
49
+ ## @param body POST /v1/extract request body — schema-driven extraction (deterministic) + bring-your-own-model extraction.Two extraction modes: - Deterministic (default, model_provider absent): CSS/regex/keyword extraction. Requires 'schema'. Returns {"url","data","token_estimate"}. - Bring-your-own-model (model_provider present): GhostCrawl fetches and prepares clean Markdown; your connected model performs the semantic extraction (you are not billed for model inference here, only the request quota). Returns {"urls","data","token_estimate"}.Security notes:- The 'schema' field is validated before any fetch (fail-fast input guard).- URLs are validated against private, loopback, and metadata targets before any fetch.- Error responses never echo the schema body, fetched content, or model credentials.- model_provider.api_key is request-scoped only: never persisted, logged, or returned in any response body or error message.
50
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
51
+ ## @return a request_information
52
+ ##
53
+ def to_post_request_information(body, request_configuration=nil)
54
+ raise StandardError, 'body cannot be null' if body.nil?
55
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
56
+ unless request_configuration.nil?
57
+ request_info.add_headers_from_raw_object(request_configuration.headers)
58
+ request_info.add_request_options(request_configuration.options)
59
+ end
60
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
61
+ request_info.url_template = @url_template
62
+ request_info.path_parameters = @path_parameters
63
+ request_info.http_method = :POST
64
+ request_info.headers.try_add('Accept', 'application/json')
65
+ return request_info
66
+ end
67
+ ##
68
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
69
+ ## @param raw_url The raw URL to use for the request builder.
70
+ ## @return a extract_request_builder
71
+ ##
72
+ def with_url(raw_url)
73
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
74
+ return ExtractRequestBuilder.new(raw_url, @request_adapter)
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
File without changes
@@ -0,0 +1,72 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/h_t_t_p_validation_error'
4
+ require_relative '../../models/identity_request'
5
+ require_relative '../../models/identity_response'
6
+ require_relative '../v1'
7
+ require_relative './identity'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Identity
12
+ ##
13
+ # Builds and executes requests for operations under #v1#identity
14
+ class IdentityRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new IdentityRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/identity")
24
+ end
25
+ ##
26
+ ## Create an encrypted identity payload.POST /v1/identity — requires Authorization: Bearer <token>. pool-first path: 1. Derive cohort key from request fields. 2. If cohort is poolable: attempt from → fetch row → PROFILE_VERSION check → mark served_at. On HIT: return encrypted blob. 3. On MISS, version mismatch, or inline viewport: fall through to materialize.Translates the public request (operating system, browser, device_model,viewport) to internal materialize inputs, encrypts the resultingidentity configuration, and returns an opaque encrypted envelope.The plaintext identity configuration is NEVER returned in the response.
27
+ ## @param body Request body for POST /v1/identity. extension (single-endpoint-with-source): source="user" → BYO local path; payload carries ~14-field schema. source="gc_identity" → Cloud WSS paid tier; filter carries 7-field constraints. source=None → Legacy path (operating system and browser required).For legacy path with mobile operating system values (ios, android): device_model is required.For legacy path with desktop operating system values (macos, windows, linux): viewport is required.
28
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
29
+ ## @return a Fiber of identity_response
30
+ ##
31
+ def post(body, request_configuration=nil)
32
+ raise StandardError, 'body cannot be null' if body.nil?
33
+ request_info = self.to_post_request_information(
34
+ body, request_configuration
35
+ )
36
+ error_mapping = Hash.new
37
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
38
+ return @request_adapter.send_async(request_info, lambda {|pn| Ghostcrawl::Models::IdentityResponse.create_from_discriminator_value(pn) }, error_mapping)
39
+ end
40
+ ##
41
+ ## Create an encrypted identity payload.POST /v1/identity — requires Authorization: Bearer <token>. pool-first path: 1. Derive cohort key from request fields. 2. If cohort is poolable: attempt from → fetch row → PROFILE_VERSION check → mark served_at. On HIT: return encrypted blob. 3. On MISS, version mismatch, or inline viewport: fall through to materialize.Translates the public request (operating system, browser, device_model,viewport) to internal materialize inputs, encrypts the resultingidentity configuration, and returns an opaque encrypted envelope.The plaintext identity configuration is NEVER returned in the response.
42
+ ## @param body Request body for POST /v1/identity. extension (single-endpoint-with-source): source="user" → BYO local path; payload carries ~14-field schema. source="gc_identity" → Cloud WSS paid tier; filter carries 7-field constraints. source=None → Legacy path (operating system and browser required).For legacy path with mobile operating system values (ios, android): device_model is required.For legacy path with desktop operating system values (macos, windows, linux): viewport is required.
43
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
44
+ ## @return a request_information
45
+ ##
46
+ def to_post_request_information(body, request_configuration=nil)
47
+ raise StandardError, 'body cannot be null' if body.nil?
48
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
49
+ unless request_configuration.nil?
50
+ request_info.add_headers_from_raw_object(request_configuration.headers)
51
+ request_info.add_request_options(request_configuration.options)
52
+ end
53
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
54
+ request_info.url_template = @url_template
55
+ request_info.path_parameters = @path_parameters
56
+ request_info.http_method = :POST
57
+ request_info.headers.try_add('Accept', 'application/json')
58
+ return request_info
59
+ end
60
+ ##
61
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
62
+ ## @param raw_url The raw URL to use for the request builder.
63
+ ## @return a identity_request_builder
64
+ ##
65
+ def with_url(raw_url)
66
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
67
+ return IdentityRequestBuilder.new(raw_url, @request_adapter)
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1 @@
1
+ require_relative 'with_key_put_request_body'
@@ -0,0 +1,133 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/h_t_t_p_validation_error'
4
+ require_relative '../../v1'
5
+ require_relative '../kv'
6
+ require_relative './item'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Kv
11
+ module Item
12
+ ##
13
+ # Builds and executes requests for operations under #v1#kv#{key}
14
+ class WithKeyItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new WithKeyItemRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/kv/{key}")
24
+ end
25
+ ##
26
+ ## DELETE /v1/kv/{key} — remove a KV entry.Returns {deleted: true}. 404 on miss (anti-enum,). 403 without kv:write.
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of binary
29
+ ##
30
+ def delete(request_configuration=nil)
31
+ request_info = self.to_delete_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
37
+ end
38
+ ##
39
+ ## GET /v1/kv/{key} — read a KV entry.Returns {key, value, value_type}. For blobs, returns bytes withapplication/octet-stream content-type. 404 on miss (anti-enum,).
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a Fiber of binary
42
+ ##
43
+ def get(request_configuration=nil)
44
+ request_info = self.to_get_request_information(
45
+ request_configuration
46
+ )
47
+ error_mapping = Hash.new
48
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
49
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
50
+ end
51
+ ##
52
+ ## PUT /v1/kv/{key} — write or overwrite a KV entry.Body: {"value": <any>, "type": "json"|"text"|"blob", "ttl_at"?: <iso8601>}Returns {key, value_type, size}. 413 on oversize. 403 without kv:write scope.
53
+ ## @param body The request body
54
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
55
+ ## @return a Fiber of binary
56
+ ##
57
+ def put(body, request_configuration=nil)
58
+ raise StandardError, 'body cannot be null' if body.nil?
59
+ request_info = self.to_put_request_information(
60
+ body, request_configuration
61
+ )
62
+ error_mapping = Hash.new
63
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
64
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
65
+ end
66
+ ##
67
+ ## DELETE /v1/kv/{key} — remove a KV entry.Returns {deleted: true}. 404 on miss (anti-enum,). 403 without kv:write.
68
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
69
+ ## @return a request_information
70
+ ##
71
+ def to_delete_request_information(request_configuration=nil)
72
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
73
+ unless request_configuration.nil?
74
+ request_info.add_headers_from_raw_object(request_configuration.headers)
75
+ request_info.add_request_options(request_configuration.options)
76
+ end
77
+ request_info.url_template = @url_template
78
+ request_info.path_parameters = @path_parameters
79
+ request_info.http_method = :DELETE
80
+ request_info.headers.try_add('Accept', 'application/json')
81
+ return request_info
82
+ end
83
+ ##
84
+ ## GET /v1/kv/{key} — read a KV entry.Returns {key, value, value_type}. For blobs, returns bytes withapplication/octet-stream content-type. 404 on miss (anti-enum,).
85
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
86
+ ## @return a request_information
87
+ ##
88
+ def to_get_request_information(request_configuration=nil)
89
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
90
+ unless request_configuration.nil?
91
+ request_info.add_headers_from_raw_object(request_configuration.headers)
92
+ request_info.add_request_options(request_configuration.options)
93
+ end
94
+ request_info.url_template = @url_template
95
+ request_info.path_parameters = @path_parameters
96
+ request_info.http_method = :GET
97
+ request_info.headers.try_add('Accept', 'application/json')
98
+ return request_info
99
+ end
100
+ ##
101
+ ## PUT /v1/kv/{key} — write or overwrite a KV entry.Body: {"value": <any>, "type": "json"|"text"|"blob", "ttl_at"?: <iso8601>}Returns {key, value_type, size}. 413 on oversize. 403 without kv:write scope.
102
+ ## @param body The request body
103
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
104
+ ## @return a request_information
105
+ ##
106
+ def to_put_request_information(body, request_configuration=nil)
107
+ raise StandardError, 'body cannot be null' if body.nil?
108
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
109
+ unless request_configuration.nil?
110
+ request_info.add_headers_from_raw_object(request_configuration.headers)
111
+ request_info.add_request_options(request_configuration.options)
112
+ end
113
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
114
+ request_info.url_template = @url_template
115
+ request_info.path_parameters = @path_parameters
116
+ request_info.http_method = :PUT
117
+ request_info.headers.try_add('Accept', 'application/json')
118
+ return request_info
119
+ end
120
+ ##
121
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
122
+ ## @param raw_url The raw URL to use for the request builder.
123
+ ## @return a with_key_item_request_builder
124
+ ##
125
+ def with_url(raw_url)
126
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
127
+ return WithKeyItemRequestBuilder.new(raw_url, @request_adapter)
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,68 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../v1'
4
+ require_relative '../kv'
5
+ require_relative './item'
6
+
7
+ module Ghostcrawl
8
+ module V1
9
+ module Kv
10
+ module Item
11
+ class WithKeyPutRequestBody
12
+ include MicrosoftKiotaAbstractions::AdditionalDataHolder, MicrosoftKiotaAbstractions::Parsable
13
+ ##
14
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
15
+ @additional_data
16
+ ##
17
+ ## Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
18
+ ## @return a i_dictionary
19
+ ##
20
+ def additional_data
21
+ return @additional_data
22
+ end
23
+ ##
24
+ ## Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
25
+ ## @param value Value to set for the AdditionalData property.
26
+ ## @return a void
27
+ ##
28
+ def additional_data=(value)
29
+ @additional_data = value
30
+ end
31
+ ##
32
+ ## Instantiates a new WithKeyPutRequestBody and sets the default values.
33
+ ## @return a void
34
+ ##
35
+ def initialize()
36
+ @additional_data = Hash.new
37
+ end
38
+ ##
39
+ ## Creates a new instance of the appropriate class based on discriminator value
40
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
41
+ ## @return a with_key_put_request_body
42
+ ##
43
+ def self.create_from_discriminator_value(parse_node)
44
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
45
+ return WithKeyPutRequestBody.new
46
+ end
47
+ ##
48
+ ## The deserialization information for the current model
49
+ ## @return a i_dictionary
50
+ ##
51
+ def get_field_deserializers()
52
+ return {
53
+ }
54
+ end
55
+ ##
56
+ ## Serializes information the current object
57
+ ## @param writer Serialization writer to use to serialize this model
58
+ ## @return a void
59
+ ##
60
+ def serialize(writer)
61
+ raise StandardError, 'writer cannot be null' if writer.nil?
62
+ writer.write_additional_data(@additional_data)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
File without changes
@@ -0,0 +1,37 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../v1'
4
+ require_relative './item/with_key_item_request_builder'
5
+ require_relative './kv'
6
+
7
+ module Ghostcrawl
8
+ module V1
9
+ module Kv
10
+ ##
11
+ # Builds and executes requests for operations under #v1#kv
12
+ class KvRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
13
+
14
+ ##
15
+ ## Gets an item from the ghostcrawl.v1.kv.item collection
16
+ ## @param key Unique identifier of the item
17
+ ## @return a with_key_item_request_builder
18
+ ##
19
+ def by_key(key)
20
+ raise StandardError, 'key cannot be null' if key.nil?
21
+ url_tpl_params = @path_parameters.clone
22
+ url_tpl_params["key"] = key
23
+ return Ghostcrawl::V1::Kv::Item::WithKeyItemRequestBuilder.new(url_tpl_params, @request_adapter)
24
+ end
25
+ ##
26
+ ## Instantiates a new KvRequestBuilder and sets the default values.
27
+ ## @param path_parameters Path parameters for the request
28
+ ## @param request_adapter The request adapter to use to execute the requests.
29
+ ## @return a void
30
+ ##
31
+ def initialize(path_parameters, request_adapter)
32
+ super(path_parameters, request_adapter, "{+baseurl}/v1/kv")
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
File without changes
@@ -0,0 +1,72 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/h_t_t_p_validation_error'
4
+ require_relative '../../models/map_body'
5
+ require_relative '../../models/map_response'
6
+ require_relative '../v1'
7
+ require_relative './map'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Map
12
+ ##
13
+ # Builds and executes requests for operations under #v1#map
14
+ class MapRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new MapRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/map")
24
+ end
25
+ ##
26
+ ## POST /v1/map — sitemap URL discovery.1. The seed URL is validated against private/loopback/metadata targets.2. The request is quota-checked.3. URLs are discovered from the site's sitemaps.4. Results are filtered to the same registrable domain by default.5. An optional case-insensitive substring filter is applied to URLs.6. Results are capped at 10000 regardless of the requested limit.
27
+ ## @param body Firecrawl-compatible /v1/map request body.camelCase field names per Firecrawl spec (noqa: N815 silences pydanticnaming convention warnings for intentional camelCase).
28
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
29
+ ## @return a Fiber of map_response
30
+ ##
31
+ def post(body, request_configuration=nil)
32
+ raise StandardError, 'body cannot be null' if body.nil?
33
+ request_info = self.to_post_request_information(
34
+ body, request_configuration
35
+ )
36
+ error_mapping = Hash.new
37
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
38
+ return @request_adapter.send_async(request_info, lambda {|pn| Ghostcrawl::Models::MapResponse.create_from_discriminator_value(pn) }, error_mapping)
39
+ end
40
+ ##
41
+ ## POST /v1/map — sitemap URL discovery.1. The seed URL is validated against private/loopback/metadata targets.2. The request is quota-checked.3. URLs are discovered from the site's sitemaps.4. Results are filtered to the same registrable domain by default.5. An optional case-insensitive substring filter is applied to URLs.6. Results are capped at 10000 regardless of the requested limit.
42
+ ## @param body Firecrawl-compatible /v1/map request body.camelCase field names per Firecrawl spec (noqa: N815 silences pydanticnaming convention warnings for intentional camelCase).
43
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
44
+ ## @return a request_information
45
+ ##
46
+ def to_post_request_information(body, request_configuration=nil)
47
+ raise StandardError, 'body cannot be null' if body.nil?
48
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
49
+ unless request_configuration.nil?
50
+ request_info.add_headers_from_raw_object(request_configuration.headers)
51
+ request_info.add_request_options(request_configuration.options)
52
+ end
53
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
54
+ request_info.url_template = @url_template
55
+ request_info.path_parameters = @path_parameters
56
+ request_info.http_method = :POST
57
+ request_info.headers.try_add('Accept', 'application/json')
58
+ return request_info
59
+ end
60
+ ##
61
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
62
+ ## @param raw_url The raw URL to use for the request builder.
63
+ ## @return a map_request_builder
64
+ ##
65
+ def with_url(raw_url)
66
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
67
+ return MapRequestBuilder.new(raw_url, @request_adapter)
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1 @@
1
+ require_relative 'export_get_response'
@@ -0,0 +1,68 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../v1'
4
+ require_relative '../me'
5
+ require_relative './export'
6
+
7
+ module Ghostcrawl
8
+ module V1
9
+ module Me
10
+ module Export
11
+ class ExportGetResponse
12
+ include MicrosoftKiotaAbstractions::AdditionalDataHolder, MicrosoftKiotaAbstractions::Parsable
13
+ ##
14
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
15
+ @additional_data
16
+ ##
17
+ ## Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
18
+ ## @return a i_dictionary
19
+ ##
20
+ def additional_data
21
+ return @additional_data
22
+ end
23
+ ##
24
+ ## Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
25
+ ## @param value Value to set for the AdditionalData property.
26
+ ## @return a void
27
+ ##
28
+ def additional_data=(value)
29
+ @additional_data = value
30
+ end
31
+ ##
32
+ ## Instantiates a new ExportGetResponse and sets the default values.
33
+ ## @return a void
34
+ ##
35
+ def initialize()
36
+ @additional_data = Hash.new
37
+ end
38
+ ##
39
+ ## Creates a new instance of the appropriate class based on discriminator value
40
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
41
+ ## @return a export_get_response
42
+ ##
43
+ def self.create_from_discriminator_value(parse_node)
44
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
45
+ return ExportGetResponse.new
46
+ end
47
+ ##
48
+ ## The deserialization information for the current model
49
+ ## @return a i_dictionary
50
+ ##
51
+ def get_field_deserializers()
52
+ return {
53
+ }
54
+ end
55
+ ##
56
+ ## Serializes information the current object
57
+ ## @param writer Serialization writer to use to serialize this model
58
+ ## @return a void
59
+ ##
60
+ def serialize(writer)
61
+ raise StandardError, 'writer cannot be null' if writer.nil?
62
+ writer.write_additional_data(@additional_data)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,68 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/h_t_t_p_validation_error'
4
+ require_relative '../../v1'
5
+ require_relative '../me'
6
+ require_relative './export'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Me
11
+ module Export
12
+ ##
13
+ # Builds and executes requests for operations under #v1#me#export
14
+ class ExportRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new ExportRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/me/export")
24
+ end
25
+ ##
26
+ ## GDPR self-service data export.Returns a JSON bundle of the caller's org data: dataset rows, KV entries,session summaries, API key prefixes (NEVER full keys), audit log rows, webhooksubscriptions. The bundle is org-scoped: the app.org_id GUC + explicit WHEREorg_id clauses prevent any other tenant's data from leaking.Bundle schema: { "org_id": "<uuid>", "exported_at": "<iso8601>", "datasets": [...], "kv_entries": [...], "sessions": [...], "api_keys": [...], # prefixes only (never plaintext) "audit_log": [...], # most-recent 500 rows "webhooks": [...], }
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of export_get_response
29
+ ##
30
+ def get(request_configuration=nil)
31
+ request_info = self.to_get_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, lambda {|pn| Ghostcrawl::V1::Me::Export::ExportGetResponse.create_from_discriminator_value(pn) }, error_mapping)
37
+ end
38
+ ##
39
+ ## GDPR self-service data export.Returns a JSON bundle of the caller's org data: dataset rows, KV entries,session summaries, API key prefixes (NEVER full keys), audit log rows, webhooksubscriptions. The bundle is org-scoped: the app.org_id GUC + explicit WHEREorg_id clauses prevent any other tenant's data from leaking.Bundle schema: { "org_id": "<uuid>", "exported_at": "<iso8601>", "datasets": [...], "kv_entries": [...], "sessions": [...], "api_keys": [...], # prefixes only (never plaintext) "audit_log": [...], # most-recent 500 rows "webhooks": [...], }
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a request_information
42
+ ##
43
+ def to_get_request_information(request_configuration=nil)
44
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
45
+ unless request_configuration.nil?
46
+ request_info.add_headers_from_raw_object(request_configuration.headers)
47
+ request_info.add_request_options(request_configuration.options)
48
+ end
49
+ request_info.url_template = @url_template
50
+ request_info.path_parameters = @path_parameters
51
+ request_info.http_method = :GET
52
+ request_info.headers.try_add('Accept', 'application/json')
53
+ return request_info
54
+ end
55
+ ##
56
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
57
+ ## @param raw_url The raw URL to use for the request builder.
58
+ ## @return a export_request_builder
59
+ ##
60
+ def with_url(raw_url)
61
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
62
+ return ExportRequestBuilder.new(raw_url, @request_adapter)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
File without changes