ghostcrawl 2.3.4
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.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +218 -0
- data/_generated/ghostcrawl.rb +0 -0
- data/_generated/ghostcrawl_client.rb +27 -0
- data/_generated/models/agent_request.rb +203 -0
- data/_generated/models/agent_request_mode.rb +8 -0
- data/_generated/models/agent_request_task.rb +164 -0
- data/_generated/models/agent_request_task_steps.rb +122 -0
- data/_generated/models/agent_request_task_steps_schema.rb +64 -0
- data/_generated/models/agent_request_task_steps_type.rb +9 -0
- data/_generated/models/auth_context.rb +204 -0
- data/_generated/models/batch_scrape_request.rb +644 -0
- data/_generated/models/batch_scrape_request_behavior_actions_member1.rb +62 -0
- data/_generated/models/batch_scrape_request_behavior_actions_member2.rb +62 -0
- data/_generated/models/batch_scrape_request_engine.rb +10 -0
- data/_generated/models/batch_scrape_request_extraction_strategy_member1.rb +62 -0
- data/_generated/models/batch_scrape_request_identity_country_member1.rb +62 -0
- data/_generated/models/batch_scrape_request_language_member1.rb +62 -0
- data/_generated/models/batch_scrape_request_output_format.rb +9 -0
- data/_generated/models/batch_scrape_request_profile_member1.rb +62 -0
- data/_generated/models/cdp_frame_request.rb +103 -0
- data/_generated/models/cdp_url_request.rb +82 -0
- data/_generated/models/content_request.rb +581 -0
- data/_generated/models/content_request_engine.rb +12 -0
- data/_generated/models/content_request_format.rb +10 -0
- data/_generated/models/content_request_identity_country_member1.rb +62 -0
- data/_generated/models/content_request_identity_member1.rb +62 -0
- data/_generated/models/content_request_language_member1.rb +62 -0
- data/_generated/models/content_request_profile_member1.rb +62 -0
- data/_generated/models/content_request_proxy_member1.rb +62 -0
- data/_generated/models/cookie_dict.rb +739 -0
- data/_generated/models/cookie_dict_domain_member1.rb +62 -0
- data/_generated/models/cookie_dict_expires_member1.rb +62 -0
- data/_generated/models/cookie_dict_http_only_member1.rb +62 -0
- data/_generated/models/cookie_dict_path_member1.rb +62 -0
- data/_generated/models/cookie_dict_same_site_member1.rb +62 -0
- data/_generated/models/cookie_dict_secure_member1.rb +62 -0
- data/_generated/models/cookie_dict_url_member1.rb +62 -0
- data/_generated/models/cookies_delete_body.rb +355 -0
- data/_generated/models/cookies_delete_body_domain_member1.rb +62 -0
- data/_generated/models/cookies_delete_body_name_member1.rb +62 -0
- data/_generated/models/cookies_delete_body_path_member1.rb +62 -0
- data/_generated/models/cookies_set_body.rb +102 -0
- data/_generated/models/deep_crawl_body.rb +542 -0
- data/_generated/models/deep_crawl_body_routing_mode.rb +11 -0
- data/_generated/models/deep_crawl_body_timeout_s_member1.rb +62 -0
- data/_generated/models/deep_crawl_body_wait_until_member1.rb +62 -0
- data/_generated/models/deep_crawl_body_webhook_url_member1.rb +62 -0
- data/_generated/models/dom_snapshot_body.rb +82 -0
- data/_generated/models/download_body.rb +102 -0
- data/_generated/models/error_code.rb +31 -0
- data/_generated/models/error_envelope.rb +264 -0
- data/_generated/models/error_envelope_limits.rb +162 -0
- data/_generated/models/eval_body.rb +102 -0
- data/_generated/models/extend_body.rb +155 -0
- data/_generated/models/extend_body_ttl_seconds_member1.rb +62 -0
- data/_generated/models/extract_request.rb +631 -0
- data/_generated/models/extract_request_behavior_actions_member1.rb +62 -0
- data/_generated/models/extract_request_behavior_actions_member2.rb +62 -0
- data/_generated/models/extract_request_engine.rb +12 -0
- data/_generated/models/extract_request_identity_country_member1.rb +62 -0
- data/_generated/models/extract_request_language_member1.rb +62 -0
- data/_generated/models/extract_request_prompt_member1.rb +62 -0
- data/_generated/models/extract_request_url_member1.rb +62 -0
- data/_generated/models/extract_request_urls_member1.rb +62 -0
- data/_generated/models/filter_spec.rb +62 -0
- data/_generated/models/har_body.rb +82 -0
- data/_generated/models/map_body.rb +238 -0
- data/_generated/models/map_body_search_member1.rb +62 -0
- data/_generated/models/map_response.rb +195 -0
- data/_generated/models/map_response_truncated_to_server_max_member1.rb +62 -0
- data/_generated/models/models.rb +152 -0
- data/_generated/models/pdf_request.rb +560 -0
- data/_generated/models/pdf_request_engine.rb +12 -0
- data/_generated/models/pdf_request_identity_country_member1.rb +62 -0
- data/_generated/models/pdf_request_identity_member1.rb +62 -0
- data/_generated/models/pdf_request_language_member1.rb +62 -0
- data/_generated/models/pdf_request_profile_member1.rb +62 -0
- data/_generated/models/pdf_request_proxy_member1.rb +62 -0
- data/_generated/models/problem_details.rb +226 -0
- data/_generated/models/profile_create_request.rb +175 -0
- data/_generated/models/profile_create_request_storage_state_id_member1.rb +62 -0
- data/_generated/models/profile_update_request.rb +246 -0
- data/_generated/models/profile_update_request_name_member1.rb +62 -0
- data/_generated/models/profile_update_request_storage_state_id_member1.rb +62 -0
- data/_generated/models/proxy_config.rb +116 -0
- data/_generated/models/retry_delivery_response.rb +145 -0
- data/_generated/models/rotate_secret_response.rb +145 -0
- data/_generated/models/schedule_create_request.rb +256 -0
- data/_generated/models/schedule_create_request_job_params.rb +64 -0
- data/_generated/models/schedule_create_request_notify_webhook_member1.rb +62 -0
- data/_generated/models/scorer_spec.rb +102 -0
- data/_generated/models/scrape_page_result.rb +62 -0
- data/_generated/models/scrape_request.rb +1254 -0
- data/_generated/models/scrape_request_batch_identity_mode.rb +10 -0
- data/_generated/models/scrape_request_behavior_actions_member1.rb +62 -0
- data/_generated/models/scrape_request_behavior_actions_member2.rb +62 -0
- data/_generated/models/scrape_request_engine.rb +12 -0
- data/_generated/models/scrape_request_format.rb +11 -0
- data/_generated/models/scrape_request_identity_country_member1.rb +62 -0
- data/_generated/models/scrape_request_identity_member1.rb +62 -0
- data/_generated/models/scrape_request_language_member1.rb +62 -0
- data/_generated/models/scrape_request_profile_member1.rb +62 -0
- data/_generated/models/scrape_request_proxy_member1.rb +62 -0
- data/_generated/models/scrape_request_routing_mode.rb +11 -0
- data/_generated/models/scrape_request_screenshot_selector_member1.rb +62 -0
- data/_generated/models/scrape_request_session_member1.rb +62 -0
- data/_generated/models/scrape_request_timeout_ms_member1.rb +62 -0
- data/_generated/models/scrape_request_url_member1.rb +62 -0
- data/_generated/models/scrape_request_urls_member1.rb +62 -0
- data/_generated/models/scrape_result.rb +630 -0
- data/_generated/models/scrape_result_format_member1.rb +62 -0
- data/_generated/models/scrape_result_identity_id_member1.rb +62 -0
- data/_generated/models/scrape_result_markdown_member1.rb +62 -0
- data/_generated/models/scrape_result_status_member1.rb +62 -0
- data/_generated/models/scrape_result_token_estimate_member1.rb +62 -0
- data/_generated/models/scrape_result_warnings_member1.rb +62 -0
- data/_generated/models/screenshot_request.rb +672 -0
- data/_generated/models/screenshot_request_engine.rb +12 -0
- data/_generated/models/screenshot_request_identity_country_member1.rb +62 -0
- data/_generated/models/screenshot_request_identity_member1.rb +62 -0
- data/_generated/models/screenshot_request_language_member1.rb +62 -0
- data/_generated/models/screenshot_request_profile_member1.rb +62 -0
- data/_generated/models/screenshot_request_proxy_member1.rb +62 -0
- data/_generated/models/screenshot_request_screenshot_selector_member1.rb +62 -0
- data/_generated/models/scroll_body.rb +284 -0
- data/_generated/models/scroll_body_direction.rb +11 -0
- data/_generated/models/scroll_body_distance_px_member1.rb +62 -0
- data/_generated/models/scroll_body_selector_member1.rb +62 -0
- data/_generated/models/search_request.rb +469 -0
- data/_generated/models/search_request_country_member1.rb +62 -0
- data/_generated/models/search_request_engine_member1.rb +62 -0
- data/_generated/models/search_request_freshness_member1.rb +62 -0
- data/_generated/models/search_request_vertical_member1.rb +62 -0
- data/_generated/models/session_create_request.rb +174 -0
- data/_generated/models/session_create_request_engine.rb +10 -0
- data/_generated/models/session_create_request_profile_member1.rb +62 -0
- data/_generated/models/storage_state_attach_request.rb +58 -0
- data/_generated/models/storage_state_detach_request.rb +58 -0
- data/_generated/models/takeover_action_body.rb +82 -0
- data/_generated/models/upload_body.rb +162 -0
- data/_generated/models/wait_body.rb +194 -0
- data/_generated/models/wait_body_selector_member1.rb +62 -0
- data/_generated/models/webhook_create_request.rb +125 -0
- data/_generated/models/webhook_create_response.rb +104 -0
- data/_generated/models/webhook_delivery_list_response.rb +195 -0
- data/_generated/models/webhook_delivery_list_response_next_cursor_member1.rb +62 -0
- data/_generated/models/webhook_delivery_public.rb +680 -0
- data/_generated/models/webhook_delivery_public_delivered_at_member1.rb +62 -0
- data/_generated/models/webhook_delivery_public_error_class_member1.rb +62 -0
- data/_generated/models/webhook_delivery_public_replay_of_member1.rb +62 -0
- data/_generated/models/webhook_delivery_public_response_body_preview_member1.rb +62 -0
- data/_generated/models/webhook_delivery_public_response_status_member1.rb +62 -0
- data/_generated/models/webhook_list_response.rb +195 -0
- data/_generated/models/webhook_list_response_next_cursor_member1.rb +62 -0
- data/_generated/models/webhook_public.rb +316 -0
- data/_generated/models/webhook_public_secret_rotated_at_member1.rb +62 -0
- data/_generated/v1/agent/agent.rb +1 -0
- data/_generated/v1/agent/agent404_error.rb +87 -0
- data/_generated/v1/agent/agent_request_builder.rb +73 -0
- data/_generated/v1/binary/binary.rb +9 -0
- data/_generated/v1/cdp/cdp.rb +0 -0
- data/_generated/v1/cdp/cdp_request_builder.rb +37 -0
- data/_generated/v1/cdp/frame/frame.rb +0 -0
- data/_generated/v1/cdp/frame/frame_request_builder.rb +74 -0
- data/_generated/v1/cdp/url/url.rb +0 -0
- data/_generated/v1/cdp/url/url_request_builder.rb +74 -0
- data/_generated/v1/content/content.rb +0 -0
- data/_generated/v1/content/content_request_builder.rb +71 -0
- data/_generated/v1/crawl/crawl.rb +0 -0
- data/_generated/v1/crawl/crawl_request_builder.rb +31 -0
- data/_generated/v1/crawl/deep/deep.rb +0 -0
- data/_generated/v1/crawl/deep/deep_request_builder.rb +86 -0
- data/_generated/v1/crawl/deep/item/item.rb +0 -0
- data/_generated/v1/crawl/deep/item/with_run_item_request_builder.rb +71 -0
- data/_generated/v1/crawl_runs/crawl_runs.rb +1 -0
- data/_generated/v1/crawl_runs/crawl_runs_post_request_body.rb +65 -0
- data/_generated/v1/crawl_runs/crawl_runs_request_builder.rb +131 -0
- data/_generated/v1/crawl_runs/item/cancel/cancel.rb +0 -0
- data/_generated/v1/crawl_runs/item/cancel/cancel_request_builder.rb +71 -0
- data/_generated/v1/crawl_runs/item/item.rb +0 -0
- data/_generated/v1/crawl_runs/item/resume/resume.rb +0 -0
- data/_generated/v1/crawl_runs/item/resume/resume_request_builder.rb +71 -0
- data/_generated/v1/crawl_runs/item/with_run_item_request_builder.rb +96 -0
- data/_generated/v1/datasets/datasets.rb +1 -0
- data/_generated/v1/datasets/datasets_post_request_body.rb +65 -0
- data/_generated/v1/datasets/datasets_request_builder.rb +124 -0
- data/_generated/v1/datasets/item/item.rb +0 -0
- data/_generated/v1/datasets/item/rows/append/append.rb +1 -0
- data/_generated/v1/datasets/item/rows/append/append_post_request_body.rb +74 -0
- data/_generated/v1/datasets/item/rows/append/append_request_builder.rb +79 -0
- data/_generated/v1/datasets/item/rows/rows.rb +0 -0
- data/_generated/v1/datasets/item/rows/rows_request_builder.rb +86 -0
- data/_generated/v1/datasets/item/with_name_item_request_builder.rb +104 -0
- data/_generated/v1/downloads/downloads.rb +0 -0
- data/_generated/v1/downloads/downloads_request_builder.rb +76 -0
- data/_generated/v1/downloads/item/item.rb +0 -0
- data/_generated/v1/downloads/item/with_download_item_request_builder.rb +97 -0
- data/_generated/v1/extract/extract.rb +1 -0
- data/_generated/v1/extract/extract_post_response.rb +65 -0
- data/_generated/v1/extract/extract_request_builder.rb +78 -0
- data/_generated/v1/kv/item/item.rb +1 -0
- data/_generated/v1/kv/item/with_key_item_request_builder.rb +133 -0
- data/_generated/v1/kv/item/with_key_put_request_body.rb +68 -0
- data/_generated/v1/kv/kv.rb +0 -0
- data/_generated/v1/kv/kv_request_builder.rb +37 -0
- data/_generated/v1/map/map.rb +0 -0
- data/_generated/v1/map/map_request_builder.rb +72 -0
- data/_generated/v1/page/cookies/cookies.rb +0 -0
- data/_generated/v1/page/cookies/cookies_request_builder.rb +150 -0
- data/_generated/v1/page/dom_snapshot/dom_snapshot.rb +0 -0
- data/_generated/v1/page/dom_snapshot/dom_snapshot_request_builder.rb +74 -0
- data/_generated/v1/page/download/download.rb +0 -0
- data/_generated/v1/page/download/download_request_builder.rb +74 -0
- data/_generated/v1/page/eval/eval.rb +0 -0
- data/_generated/v1/page/eval/eval_request_builder.rb +74 -0
- data/_generated/v1/page/har/har.rb +0 -0
- data/_generated/v1/page/har/har_request_builder.rb +74 -0
- data/_generated/v1/page/page.rb +0 -0
- data/_generated/v1/page/page_request_builder.rb +73 -0
- data/_generated/v1/page/scroll/scroll.rb +0 -0
- data/_generated/v1/page/scroll/scroll_request_builder.rb +74 -0
- data/_generated/v1/page/upload/upload.rb +0 -0
- data/_generated/v1/page/upload/upload_request_builder.rb +74 -0
- data/_generated/v1/page/wait/wait.rb +0 -0
- data/_generated/v1/page/wait/wait_request_builder.rb +74 -0
- data/_generated/v1/pdf/pdf.rb +0 -0
- data/_generated/v1/pdf/pdf_request_builder.rb +71 -0
- data/_generated/v1/profiles/item/item.rb +0 -0
- data/_generated/v1/profiles/item/with_name_item_request_builder.rb +134 -0
- data/_generated/v1/profiles/profiles.rb +0 -0
- data/_generated/v1/profiles/profiles_request_builder.rb +125 -0
- data/_generated/v1/recordings/item/item.rb +0 -0
- data/_generated/v1/recordings/item/recording_item_request_builder.rb +102 -0
- data/_generated/v1/recordings/item/visual/frames/frames.rb +0 -0
- data/_generated/v1/recordings/item/visual/frames/frames_request_builder.rb +93 -0
- data/_generated/v1/recordings/item/visual/start/start.rb +0 -0
- data/_generated/v1/recordings/item/visual/start/start_request_builder.rb +80 -0
- data/_generated/v1/recordings/item/visual/stop/stop.rb +0 -0
- data/_generated/v1/recordings/item/visual/stop/stop_request_builder.rb +80 -0
- data/_generated/v1/recordings/item/visual/visual.rb +0 -0
- data/_generated/v1/recordings/item/visual/visual_request_builder.rb +95 -0
- data/_generated/v1/recordings/recordings.rb +0 -0
- data/_generated/v1/recordings/recordings_request_builder.rb +89 -0
- data/_generated/v1/schedules/item/item.rb +0 -0
- data/_generated/v1/schedules/item/runs/runs.rb +0 -0
- data/_generated/v1/schedules/item/runs/runs_request_builder.rb +71 -0
- data/_generated/v1/schedules/item/with_schedule_item_request_builder.rb +103 -0
- data/_generated/v1/schedules/schedules.rb +0 -0
- data/_generated/v1/schedules/schedules_request_builder.rb +113 -0
- data/_generated/v1/scrape/batch/batch.rb +0 -0
- data/_generated/v1/scrape/batch/batch_request_builder.rb +81 -0
- data/_generated/v1/scrape/scrape.rb +0 -0
- data/_generated/v1/scrape/scrape_request_builder.rb +86 -0
- data/_generated/v1/screenshot/screenshot.rb +0 -0
- data/_generated/v1/screenshot/screenshot_request_builder.rb +71 -0
- data/_generated/v1/screenshot_blobs/item/item.rb +0 -0
- data/_generated/v1/screenshot_blobs/item/with_ref_item_request_builder.rb +68 -0
- data/_generated/v1/screenshot_blobs/screenshot_blobs.rb +0 -0
- data/_generated/v1/screenshot_blobs/screenshot_blobs_request_builder.rb +37 -0
- data/_generated/v1/search/jobs/item/item.rb +0 -0
- data/_generated/v1/search/jobs/item/with_job_item_request_builder.rb +71 -0
- data/_generated/v1/search/jobs/jobs.rb +0 -0
- data/_generated/v1/search/jobs/jobs_request_builder.rb +40 -0
- data/_generated/v1/search/search.rb +0 -0
- data/_generated/v1/search/search_request_builder.rb +84 -0
- data/_generated/v1/selfhost/byo/behavior/behavior.rb +1 -0
- data/_generated/v1/selfhost/byo/behavior/behavior_put_request_body.rb +71 -0
- data/_generated/v1/selfhost/byo/behavior/behavior_request_builder.rb +76 -0
- data/_generated/v1/selfhost/byo/byo.rb +0 -0
- data/_generated/v1/selfhost/byo/byo_request_builder.rb +46 -0
- data/_generated/v1/selfhost/byo/identity/identity.rb +1 -0
- data/_generated/v1/selfhost/byo/identity/identity_put_request_body.rb +71 -0
- data/_generated/v1/selfhost/byo/identity/identity_request_builder.rb +76 -0
- data/_generated/v1/selfhost/byo/proxy/proxy.rb +1 -0
- data/_generated/v1/selfhost/byo/proxy/proxy_put_request_body.rb +71 -0
- data/_generated/v1/selfhost/byo/proxy/proxy_request_builder.rb +76 -0
- data/_generated/v1/selfhost/selfhost.rb +0 -0
- data/_generated/v1/selfhost/selfhost_request_builder.rb +31 -0
- data/_generated/v1/sessions/create/create.rb +0 -0
- data/_generated/v1/sessions/create/create_request_builder.rb +74 -0
- data/_generated/v1/sessions/item/extend/extend.rb +0 -0
- data/_generated/v1/sessions/item/extend/extend_request_builder.rb +77 -0
- data/_generated/v1/sessions/item/item.rb +0 -0
- data/_generated/v1/sessions/item/pin/pin.rb +0 -0
- data/_generated/v1/sessions/item/pin/pin_request_builder.rb +71 -0
- data/_generated/v1/sessions/item/profile_item_request_builder.rb +70 -0
- data/_generated/v1/sessions/item/recording/recording.rb +0 -0
- data/_generated/v1/sessions/item/recording/recording_request_builder.rb +43 -0
- data/_generated/v1/sessions/item/recording/start/start.rb +0 -0
- data/_generated/v1/sessions/item/recording/start/start_request_builder.rb +74 -0
- data/_generated/v1/sessions/item/recording/stop/stop.rb +0 -0
- data/_generated/v1/sessions/item/recording/stop/stop_request_builder.rb +74 -0
- data/_generated/v1/sessions/item/release/release.rb +0 -0
- data/_generated/v1/sessions/item/release/release_request_builder.rb +71 -0
- data/_generated/v1/sessions/item/takeover/takeover.rb +0 -0
- data/_generated/v1/sessions/item/takeover/takeover_request_builder.rb +77 -0
- data/_generated/v1/sessions/item/takeover_release/takeover_release.rb +0 -0
- data/_generated/v1/sessions/item/takeover_release/takeover_release_request_builder.rb +71 -0
- data/_generated/v1/sessions/item/takeover_token/takeover_token.rb +0 -0
- data/_generated/v1/sessions/item/takeover_token/takeover_token_request_builder.rb +71 -0
- data/_generated/v1/sessions/sessions.rb +0 -0
- data/_generated/v1/sessions/sessions_request_builder.rb +95 -0
- data/_generated/v1/storage_states/detach/detach.rb +0 -0
- data/_generated/v1/storage_states/detach/detach_request_builder.rb +74 -0
- data/_generated/v1/storage_states/item/attach/attach.rb +0 -0
- data/_generated/v1/storage_states/item/attach/attach_request_builder.rb +77 -0
- data/_generated/v1/storage_states/item/item.rb +0 -0
- data/_generated/v1/storage_states/item/with_id_or_name_item_request_builder.rb +104 -0
- data/_generated/v1/storage_states/storage_states.rb +1 -0
- data/_generated/v1/storage_states/storage_states_post_request_body.rb +65 -0
- data/_generated/v1/storage_states/storage_states_request_builder.rb +127 -0
- data/_generated/v1/v1.rb +0 -0
- data/_generated/v1/v1_request_builder.rb +161 -0
- data/_generated/v1/webhooks/item/deliveries/deliveries.rb +0 -0
- data/_generated/v1/webhooks/item/deliveries/deliveries_request_builder.rb +96 -0
- data/_generated/v1/webhooks/item/deliveries/item/item.rb +0 -0
- data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_escaped.rb +0 -0
- data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_request_builder.rb +78 -0
- data/_generated/v1/webhooks/item/deliveries/item/with_delivery_item_request_builder.rb +40 -0
- data/_generated/v1/webhooks/item/item.rb +0 -0
- data/_generated/v1/webhooks/item/rotate_secret/rotate_secret.rb +0 -0
- data/_generated/v1/webhooks/item/rotate_secret/rotate_secret_request_builder.rb +72 -0
- data/_generated/v1/webhooks/item/with_webhook_item_request_builder.rb +111 -0
- data/_generated/v1/webhooks/webhooks.rb +0 -0
- data/_generated/v1/webhooks/webhooks_request_builder.rb +127 -0
- data/lib/ghostcrawl/client.rb +1351 -0
- data/lib/ghostcrawl/error_codes.rb +111 -0
- data/lib/ghostcrawl/errors.rb +137 -0
- data/lib/ghostcrawl/version.rb +5 -0
- data/lib/ghostcrawl.rb +17 -0
- metadata +422 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
require 'microsoft_kiota_abstractions'
|
|
2
|
+
require_relative '../../../ghostcrawl'
|
|
3
|
+
require_relative '../../../models/problem_details'
|
|
4
|
+
require_relative '../../v1'
|
|
5
|
+
require_relative '../datasets'
|
|
6
|
+
require_relative './item'
|
|
7
|
+
require_relative './rows/rows_request_builder'
|
|
8
|
+
|
|
9
|
+
module GhostCrawl
|
|
10
|
+
module V1
|
|
11
|
+
module Datasets
|
|
12
|
+
module Item
|
|
13
|
+
##
|
|
14
|
+
# Builds and executes requests for operations under #v1#datasets#{name}
|
|
15
|
+
class WithNameItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
16
|
+
|
|
17
|
+
##
|
|
18
|
+
# The rows property
|
|
19
|
+
def rows()
|
|
20
|
+
return GhostCrawl::V1::Datasets::Item::Rows::RowsRequestBuilder.new(@path_parameters, @request_adapter)
|
|
21
|
+
end
|
|
22
|
+
##
|
|
23
|
+
## Instantiates a new WithNameItemRequestBuilder and sets the default values.
|
|
24
|
+
## @param path_parameters Path parameters for the request
|
|
25
|
+
## @param request_adapter The request adapter to use to execute the requests.
|
|
26
|
+
## @return a void
|
|
27
|
+
##
|
|
28
|
+
def initialize(path_parameters, request_adapter)
|
|
29
|
+
super(path_parameters, request_adapter, "{+baseurl}/v1/datasets/{name}")
|
|
30
|
+
end
|
|
31
|
+
##
|
|
32
|
+
## delete. Returns 200 on success, 404 on miss.
|
|
33
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
34
|
+
## @return a Fiber of binary
|
|
35
|
+
##
|
|
36
|
+
def delete(request_configuration=nil)
|
|
37
|
+
request_info = self.to_delete_request_information(
|
|
38
|
+
request_configuration
|
|
39
|
+
)
|
|
40
|
+
error_mapping = Hash.new
|
|
41
|
+
error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
42
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
43
|
+
end
|
|
44
|
+
##
|
|
45
|
+
## metadata only. Credentials are never included in the response.
|
|
46
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
47
|
+
## @return a Fiber of binary
|
|
48
|
+
##
|
|
49
|
+
def get(request_configuration=nil)
|
|
50
|
+
request_info = self.to_get_request_information(
|
|
51
|
+
request_configuration
|
|
52
|
+
)
|
|
53
|
+
error_mapping = Hash.new
|
|
54
|
+
error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
55
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
56
|
+
end
|
|
57
|
+
##
|
|
58
|
+
## delete. Returns 200 on success, 404 on miss.
|
|
59
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
60
|
+
## @return a request_information
|
|
61
|
+
##
|
|
62
|
+
def to_delete_request_information(request_configuration=nil)
|
|
63
|
+
request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
|
|
64
|
+
unless request_configuration.nil?
|
|
65
|
+
request_info.add_headers_from_raw_object(request_configuration.headers)
|
|
66
|
+
request_info.add_request_options(request_configuration.options)
|
|
67
|
+
end
|
|
68
|
+
request_info.url_template = @url_template
|
|
69
|
+
request_info.path_parameters = @path_parameters
|
|
70
|
+
request_info.http_method = :DELETE
|
|
71
|
+
request_info.headers.try_add('Accept', 'application/json')
|
|
72
|
+
return request_info
|
|
73
|
+
end
|
|
74
|
+
##
|
|
75
|
+
## metadata only. Credentials are never included in the response.
|
|
76
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
77
|
+
## @return a request_information
|
|
78
|
+
##
|
|
79
|
+
def to_get_request_information(request_configuration=nil)
|
|
80
|
+
request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
|
|
81
|
+
unless request_configuration.nil?
|
|
82
|
+
request_info.add_headers_from_raw_object(request_configuration.headers)
|
|
83
|
+
request_info.add_request_options(request_configuration.options)
|
|
84
|
+
end
|
|
85
|
+
request_info.url_template = @url_template
|
|
86
|
+
request_info.path_parameters = @path_parameters
|
|
87
|
+
request_info.http_method = :GET
|
|
88
|
+
request_info.headers.try_add('Accept', 'application/json')
|
|
89
|
+
return request_info
|
|
90
|
+
end
|
|
91
|
+
##
|
|
92
|
+
## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
93
|
+
## @param raw_url The raw URL to use for the request builder.
|
|
94
|
+
## @return a with_name_item_request_builder
|
|
95
|
+
##
|
|
96
|
+
def with_url(raw_url)
|
|
97
|
+
raise StandardError, 'raw_url cannot be null' if raw_url.nil?
|
|
98
|
+
return WithNameItemRequestBuilder.new(raw_url, @request_adapter)
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
require 'microsoft_kiota_abstractions'
|
|
2
|
+
require_relative '../../ghostcrawl'
|
|
3
|
+
require_relative '../../models/problem_details'
|
|
4
|
+
require_relative '../v1'
|
|
5
|
+
require_relative './downloads'
|
|
6
|
+
require_relative './item/with_download_item_request_builder'
|
|
7
|
+
|
|
8
|
+
module GhostCrawl
|
|
9
|
+
module V1
|
|
10
|
+
module Downloads
|
|
11
|
+
##
|
|
12
|
+
# Builds and executes requests for operations under #v1#downloads
|
|
13
|
+
class DownloadsRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
## Gets an item from the GhostCrawl.v1.downloads.item collection
|
|
17
|
+
## @param download_id Unique identifier of the item
|
|
18
|
+
## @return a with_download_item_request_builder
|
|
19
|
+
##
|
|
20
|
+
def by_download_id(download_id)
|
|
21
|
+
raise StandardError, 'download_id cannot be null' if download_id.nil?
|
|
22
|
+
url_tpl_params = @path_parameters.clone
|
|
23
|
+
url_tpl_params["download_id"] = download_id
|
|
24
|
+
return GhostCrawl::V1::Downloads::Item::WithDownloadItemRequestBuilder.new(url_tpl_params, @request_adapter)
|
|
25
|
+
end
|
|
26
|
+
##
|
|
27
|
+
## Instantiates a new DownloadsRequestBuilder and sets the default values.
|
|
28
|
+
## @param path_parameters Path parameters for the request
|
|
29
|
+
## @param request_adapter The request adapter to use to execute the requests.
|
|
30
|
+
## @return a void
|
|
31
|
+
##
|
|
32
|
+
def initialize(path_parameters, request_adapter)
|
|
33
|
+
super(path_parameters, request_adapter, "{+baseurl}/v1/downloads")
|
|
34
|
+
end
|
|
35
|
+
##
|
|
36
|
+
## List captured downloads
|
|
37
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
38
|
+
## @return a Fiber of binary
|
|
39
|
+
##
|
|
40
|
+
def get(request_configuration=nil)
|
|
41
|
+
request_info = self.to_get_request_information(
|
|
42
|
+
request_configuration
|
|
43
|
+
)
|
|
44
|
+
error_mapping = Hash.new
|
|
45
|
+
error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
46
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
47
|
+
end
|
|
48
|
+
##
|
|
49
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
50
|
+
## @return a request_information
|
|
51
|
+
##
|
|
52
|
+
def to_get_request_information(request_configuration=nil)
|
|
53
|
+
request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
|
|
54
|
+
unless request_configuration.nil?
|
|
55
|
+
request_info.add_headers_from_raw_object(request_configuration.headers)
|
|
56
|
+
request_info.add_request_options(request_configuration.options)
|
|
57
|
+
end
|
|
58
|
+
request_info.url_template = @url_template
|
|
59
|
+
request_info.path_parameters = @path_parameters
|
|
60
|
+
request_info.http_method = :GET
|
|
61
|
+
request_info.headers.try_add('Accept', 'application/json')
|
|
62
|
+
return request_info
|
|
63
|
+
end
|
|
64
|
+
##
|
|
65
|
+
## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
66
|
+
## @param raw_url The raw URL to use for the request builder.
|
|
67
|
+
## @return a downloads_request_builder
|
|
68
|
+
##
|
|
69
|
+
def with_url(raw_url)
|
|
70
|
+
raise StandardError, 'raw_url cannot be null' if raw_url.nil?
|
|
71
|
+
return DownloadsRequestBuilder.new(raw_url, @request_adapter)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
require 'microsoft_kiota_abstractions'
|
|
2
|
+
require_relative '../../../ghostcrawl'
|
|
3
|
+
require_relative '../../../models/problem_details'
|
|
4
|
+
require_relative '../../v1'
|
|
5
|
+
require_relative '../downloads'
|
|
6
|
+
require_relative './item'
|
|
7
|
+
|
|
8
|
+
module GhostCrawl
|
|
9
|
+
module V1
|
|
10
|
+
module Downloads
|
|
11
|
+
module Item
|
|
12
|
+
##
|
|
13
|
+
# Builds and executes requests for operations under #v1#downloads#{download_id}
|
|
14
|
+
class WithDownloadItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
15
|
+
|
|
16
|
+
##
|
|
17
|
+
## Instantiates a new WithDownloadItemRequestBuilder 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/downloads/{download_id}")
|
|
24
|
+
end
|
|
25
|
+
##
|
|
26
|
+
## Delete a captured download
|
|
27
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
28
|
+
## @return a Fiber of void
|
|
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::ProblemDetails.create_from_discriminator_value(pn) }
|
|
36
|
+
return @request_adapter.send_async(request_info, nil, error_mapping)
|
|
37
|
+
end
|
|
38
|
+
##
|
|
39
|
+
## GET /v1/downloads/{id} → the download's signed retrieval link / metadata. we do not confirm existence of another tenant's artifact).
|
|
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::ProblemDetails.create_from_discriminator_value(pn) }
|
|
49
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
50
|
+
end
|
|
51
|
+
##
|
|
52
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
53
|
+
## @return a request_information
|
|
54
|
+
##
|
|
55
|
+
def to_delete_request_information(request_configuration=nil)
|
|
56
|
+
request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
|
|
57
|
+
unless request_configuration.nil?
|
|
58
|
+
request_info.add_headers_from_raw_object(request_configuration.headers)
|
|
59
|
+
request_info.add_request_options(request_configuration.options)
|
|
60
|
+
end
|
|
61
|
+
request_info.url_template = @url_template
|
|
62
|
+
request_info.path_parameters = @path_parameters
|
|
63
|
+
request_info.http_method = :DELETE
|
|
64
|
+
request_info.headers.try_add('Accept', 'application/problem+json')
|
|
65
|
+
return request_info
|
|
66
|
+
end
|
|
67
|
+
##
|
|
68
|
+
## GET /v1/downloads/{id} → the download's signed retrieval link / metadata. we do not confirm existence of another tenant's artifact).
|
|
69
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
70
|
+
## @return a request_information
|
|
71
|
+
##
|
|
72
|
+
def to_get_request_information(request_configuration=nil)
|
|
73
|
+
request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
|
|
74
|
+
unless request_configuration.nil?
|
|
75
|
+
request_info.add_headers_from_raw_object(request_configuration.headers)
|
|
76
|
+
request_info.add_request_options(request_configuration.options)
|
|
77
|
+
end
|
|
78
|
+
request_info.url_template = @url_template
|
|
79
|
+
request_info.path_parameters = @path_parameters
|
|
80
|
+
request_info.http_method = :GET
|
|
81
|
+
request_info.headers.try_add('Accept', 'application/json')
|
|
82
|
+
return request_info
|
|
83
|
+
end
|
|
84
|
+
##
|
|
85
|
+
## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
86
|
+
## @param raw_url The raw URL to use for the request builder.
|
|
87
|
+
## @return a with_download_item_request_builder
|
|
88
|
+
##
|
|
89
|
+
def with_url(raw_url)
|
|
90
|
+
raise StandardError, 'raw_url cannot be null' if raw_url.nil?
|
|
91
|
+
return WithDownloadItemRequestBuilder.new(raw_url, @request_adapter)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require_relative 'extract_post_response'
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'microsoft_kiota_abstractions'
|
|
2
|
+
require_relative '../../ghostcrawl'
|
|
3
|
+
require_relative '../v1'
|
|
4
|
+
require_relative './extract'
|
|
5
|
+
|
|
6
|
+
module GhostCrawl
|
|
7
|
+
module V1
|
|
8
|
+
module Extract
|
|
9
|
+
class ExtractPostResponse
|
|
10
|
+
include MicrosoftKiotaAbstractions::AdditionalDataHolder, MicrosoftKiotaAbstractions::Parsable
|
|
11
|
+
##
|
|
12
|
+
# Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
|
|
13
|
+
@additional_data
|
|
14
|
+
##
|
|
15
|
+
## Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
|
|
16
|
+
## @return a i_dictionary
|
|
17
|
+
##
|
|
18
|
+
def additional_data
|
|
19
|
+
return @additional_data
|
|
20
|
+
end
|
|
21
|
+
##
|
|
22
|
+
## Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
|
|
23
|
+
## @param value Value to set for the AdditionalData property.
|
|
24
|
+
## @return a void
|
|
25
|
+
##
|
|
26
|
+
def additional_data=(value)
|
|
27
|
+
@additional_data = value
|
|
28
|
+
end
|
|
29
|
+
##
|
|
30
|
+
## Instantiates a new ExtractPostResponse and sets the default values.
|
|
31
|
+
## @return a void
|
|
32
|
+
##
|
|
33
|
+
def initialize()
|
|
34
|
+
@additional_data = Hash.new
|
|
35
|
+
end
|
|
36
|
+
##
|
|
37
|
+
## Creates a new instance of the appropriate class based on discriminator value
|
|
38
|
+
## @param parse_node The parse node to use to read the discriminator value and create the object
|
|
39
|
+
## @return a extract_post_response
|
|
40
|
+
##
|
|
41
|
+
def self.create_from_discriminator_value(parse_node)
|
|
42
|
+
raise StandardError, 'parse_node cannot be null' if parse_node.nil?
|
|
43
|
+
return ExtractPostResponse.new
|
|
44
|
+
end
|
|
45
|
+
##
|
|
46
|
+
## The deserialization information for the current model
|
|
47
|
+
## @return a i_dictionary
|
|
48
|
+
##
|
|
49
|
+
def get_field_deserializers()
|
|
50
|
+
return {
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
##
|
|
54
|
+
## Serializes information the current object
|
|
55
|
+
## @param writer Serialization writer to use to serialize this model
|
|
56
|
+
## @return a void
|
|
57
|
+
##
|
|
58
|
+
def serialize(writer)
|
|
59
|
+
raise StandardError, 'writer cannot be null' if writer.nil?
|
|
60
|
+
writer.write_additional_data(@additional_data)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
require 'microsoft_kiota_abstractions'
|
|
2
|
+
require_relative '../../ghostcrawl'
|
|
3
|
+
require_relative '../../models/extract_request'
|
|
4
|
+
require_relative '../../models/problem_details'
|
|
5
|
+
require_relative '../v1'
|
|
6
|
+
require_relative './extract'
|
|
7
|
+
|
|
8
|
+
module GhostCrawl
|
|
9
|
+
module V1
|
|
10
|
+
module Extract
|
|
11
|
+
##
|
|
12
|
+
# Builds and executes requests for operations under #v1#extract
|
|
13
|
+
class ExtractRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
## Instantiates a new ExtractRequestBuilder and sets the default values.
|
|
17
|
+
## @param path_parameters Path parameters for the request
|
|
18
|
+
## @param request_adapter The request adapter to use to execute the requests.
|
|
19
|
+
## @return a void
|
|
20
|
+
##
|
|
21
|
+
def initialize(path_parameters, request_adapter)
|
|
22
|
+
super(path_parameters, request_adapter, "{+baseurl}/v1/extract")
|
|
23
|
+
end
|
|
24
|
+
##
|
|
25
|
+
## 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.
|
|
26
|
+
## @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.
|
|
27
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
28
|
+
## @return a Fiber of extract_post_response
|
|
29
|
+
##
|
|
30
|
+
def post(body, request_configuration=nil)
|
|
31
|
+
raise StandardError, 'body cannot be null' if body.nil?
|
|
32
|
+
request_info = self.to_post_request_information(
|
|
33
|
+
body, request_configuration
|
|
34
|
+
)
|
|
35
|
+
error_mapping = Hash.new
|
|
36
|
+
error_mapping["400"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
37
|
+
error_mapping["401"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
38
|
+
error_mapping["402"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
39
|
+
error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
40
|
+
error_mapping["429"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
41
|
+
error_mapping["500"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
42
|
+
error_mapping["503"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
43
|
+
error_mapping["504"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
44
|
+
return @request_adapter.send_async(request_info, lambda {|pn| GhostCrawl::V1::Extract::ExtractPostResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
45
|
+
end
|
|
46
|
+
##
|
|
47
|
+
## 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.
|
|
48
|
+
## @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.
|
|
49
|
+
## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
|
|
50
|
+
## @return a request_information
|
|
51
|
+
##
|
|
52
|
+
def to_post_request_information(body, request_configuration=nil)
|
|
53
|
+
raise StandardError, 'body cannot be null' if body.nil?
|
|
54
|
+
request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
|
|
55
|
+
unless request_configuration.nil?
|
|
56
|
+
request_info.add_headers_from_raw_object(request_configuration.headers)
|
|
57
|
+
request_info.add_request_options(request_configuration.options)
|
|
58
|
+
end
|
|
59
|
+
request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
|
|
60
|
+
request_info.url_template = @url_template
|
|
61
|
+
request_info.path_parameters = @path_parameters
|
|
62
|
+
request_info.http_method = :POST
|
|
63
|
+
request_info.headers.try_add('Accept', 'application/json')
|
|
64
|
+
return request_info
|
|
65
|
+
end
|
|
66
|
+
##
|
|
67
|
+
## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
68
|
+
## @param raw_url The raw URL to use for the request builder.
|
|
69
|
+
## @return a extract_request_builder
|
|
70
|
+
##
|
|
71
|
+
def with_url(raw_url)
|
|
72
|
+
raise StandardError, 'raw_url cannot be null' if raw_url.nil?
|
|
73
|
+
return ExtractRequestBuilder.new(raw_url, @request_adapter)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
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/problem_details'
|
|
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
|
+
## remove a KV entry. Returns {deleted: true}. 404 on miss).
|
|
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::ProblemDetails.create_from_discriminator_value(pn) }
|
|
36
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
37
|
+
end
|
|
38
|
+
##
|
|
39
|
+
## read a KV entry. Returns {key, value, value_type}. For blobs, returns bytes with application/octet-stream content-type. 404 on miss).
|
|
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::ProblemDetails.create_from_discriminator_value(pn) }
|
|
49
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
50
|
+
end
|
|
51
|
+
##
|
|
52
|
+
## write or overwrite a KV entry. Body: {"value": <any>, "type": "json"|"text"|"blob", "ttl_at"?: <iso8601>} Returns {key, value_type, size}. 413 on oversize.
|
|
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::ProblemDetails.create_from_discriminator_value(pn) }
|
|
64
|
+
return @request_adapter.send_async(request_info, Binary, error_mapping)
|
|
65
|
+
end
|
|
66
|
+
##
|
|
67
|
+
## remove a KV entry. Returns {deleted: true}. 404 on miss).
|
|
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
|
+
## read a KV entry. Returns {key, value, value_type}. For blobs, returns bytes with application/octet-stream content-type. 404 on miss).
|
|
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
|
+
## write or overwrite a KV entry. Body: {"value": <any>, "type": "json"|"text"|"blob", "ttl_at"?: <iso8601>} Returns {key, value_type, size}. 413 on oversize.
|
|
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
|