Skip to main content

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
43pub mod graphql_rate_limit;
44/// Proactive cost-throttle management for GraphQL APIs
45pub mod graphql_throttle;
46
47/// Distributed work queue and executor adapters
48pub mod distributed;
49
50/// GraphQL target plugin implementations (one file per API target)
51pub mod graphql_plugins;
52
53/// WASM plugin adapter (feature = "wasm-plugins")
54pub mod wasm_plugin;
55
56/// Cloudflare Browser Rendering crawl adapter (feature = "cloudflare-crawl")
57#[cfg(feature = "cloudflare-crawl")]
58pub mod cloudflare_crawl;
59
60/// Output format helpers — CSV, JSONL, JSON
61pub mod output_format;