stygian_graph/adapters.rs
1//! Adapter implementations - infrastructure concerns
2//!
3//! Concrete implementations of port traits:
4//! - HTTP client with anti-bot features
5//! - AI providers (Claude, GPT, Gemini, Ollama, Copilot)
6//! - Storage backends
7//! - Cache backends
8
9/// HTTP scraping adapter with anti-bot capabilities
10pub mod http;
11
12/// REST API adapter — JSON APIs with auth, pagination, and data extraction
13pub mod rest_api;
14
15/// AI provider adapters
16pub mod ai;
17
18/// Storage adapters (file, S3, database)
19pub mod storage;
20
21/// Cache adapters (memory, Redis)
22pub mod cache;
23
24/// Resilience adapters (circuit breaker, retry)
25pub mod resilience;
26
27/// No-op service for testing
28pub mod noop;
29
30/// JavaScript rendering adapter (headless browser via stygian-browser)
31#[cfg(feature = "browser")]
32pub mod browser;
33
34/// Multi-modal content extraction (CSV, JSON, XML, images, PDFs)
35pub mod multimodal;
36
37/// Mock AI provider for testing
38pub mod mock_ai;
39
40/// GraphQL API adapter — generic ScrapingService for any GraphQL endpoint
41pub mod graphql;
42
43/// OpenAPI 3.x introspection adapter — resolves operations from an OpenAPI spec and delegates to RestApiAdapter
44pub mod openapi;
45
46pub mod graphql_rate_limit;
47/// Proactive cost-throttle management for GraphQL APIs
48pub mod graphql_throttle;
49
50/// Distributed work queue and executor adapters
51pub mod distributed;
52
53/// GraphQL target plugin implementations (one file per API target)
54pub mod graphql_plugins;
55
56/// WASM plugin adapter (feature = "wasm-plugins")
57pub mod wasm_plugin;
58
59/// Cloudflare Browser Rendering crawl adapter (feature = "cloudflare-crawl")
60#[cfg(feature = "cloudflare-crawl")]
61pub mod cloudflare_crawl;
62
63/// Output format helpers — CSV, JSONL, JSON
64pub mod output_format;
65
66/// Request signing adapters — Noop passthrough and HTTP sidecar bridge.
67/// Covers Frida RPC, AWS Sig V4, OAuth 1.0a, custom HMAC, and device attestation.
68pub mod signing;