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
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;
69
70/// OpenAPI spec generator from API discovery reports
71pub mod openapi_gen;
72
73/// PostgreSQL database source adapter (feature = "postgres")
74#[cfg(feature = "postgres")]
75pub mod database;
76
77/// File system / document source adapter
78pub mod document;
79
80/// Server-Sent Events stream source adapter
81pub mod stream;
82
83/// LLM agent source adapter — wraps AIProvider as a pipeline node
84pub mod agent_source;
85
86/// Redis / Valkey cache adapter (feature = "redis")
87#[cfg(feature = "redis")]
88pub mod cache_redis;
89
90/// Redis Streams work queue adapter (feature = "redis")
91#[cfg(feature = "redis")]
92pub mod distributed_redis;
93
94/// Sitemap / sitemap-index source adapter
95pub mod sitemap;
96
97/// RSS/Atom feed source adapter
98pub mod rss_feed;
99
100/// WebSocket stream source adapter
101pub mod websocket;
102
103/// CSV/TSV data source adapter
104pub mod csv_source;
105
106/// S3-compatible object storage adapter (feature = "object-storage")
107#[cfg(feature = "object-storage")]
108pub mod storage_s3;
109
110/// Axum-based webhook trigger adapter (feature = "api")
111#[cfg(feature = "api")]
112pub mod webhook;