Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/canarybyte/veridrop
/ types & classes
Types & classes
86 in github.com/canarybyte/veridrop
⨍
Functions
825
◇
Types & classes
86
↳
Endpoints
20
↓ 43 callers
Class
ProtocolIssue
src/relay_detector/protocols/openai/protocol_templates.py:114
↓ 39 callers
Class
FAQEntry
web/faq_data.py:26
↓ 28 callers
Class
LongContextDetector
src/relay_detector/protocols/openai/detectors/long_context.py:83
↓ 16 callers
Class
_MockClient
Stub that records each chat_completions_create call and returns a configurable response. Used to drive the detector through pass/ partial/fail
tests/test_long_context.py:247
↓ 14 callers
Class
AnthropicClient
Raw httpx-based client. Returns dicts unchanged from the wire.
src/relay_detector/protocols/anthropic/client.py:83
↓ 11 callers
Class
_MockClient
tests/test_anthropic_long_context.py:20
↓ 10 callers
Class
ProtocolDetector
src/relay_detector/protocols/gemini/detectors/protocol.py:32
↓ 8 callers
Class
FAQCategory
web/faq_data.py:33
↓ 8 callers
Class
ModelInfo
src/relay_detector/protocols/anthropic/config.py:62
↓ 7 callers
Class
MessageIDDetector
src/relay_detector/protocols/anthropic/detectors/message_id.py:26
↓ 7 callers
Class
UsageMetrics
src/relay_detector/core/models.py:77
↓ 6 callers
Class
OpenAIProbe
src/relay_detector/protocols/openai/baseline.py:46
↓ 6 callers
Class
ThinkingSignatureDetector
src/relay_detector/protocols/anthropic/detectors/thinking_signature.py:56
↓ 6 callers
Class
ThrottledClient
Semaphore + global-backoff wrapper around AnthropicClient. - max_concurrent caps simultaneous in-flight requests to the relay. - 429/503 trig
src/relay_detector/protocols/anthropic/client.py:239
↓ 5 callers
Class
DetectorResult
src/relay_detector/core/models.py:64
↓ 5 callers
Class
StreamEvent
One server-sent event from the streaming Messages API.
src/relay_detector/core/models.py:136
↓ 4 callers
Class
OpenAIAPIError
src/relay_detector/protocols/openai/client.py:44
↓ 4 callers
Class
OpenAIChatClient
Raw httpx client for OpenAI-compatible endpoints.
src/relay_detector/protocols/openai/client.py:52
↓ 3 callers
Class
AnthropicAPIError
Raised on non-2xx HTTP response. Holds status + body for inspection.
src/relay_detector/protocols/anthropic/client.py:73
↓ 3 callers
Class
GeminiClient
Raw httpx client for the Gemini OpenAI-compatible Chat Completions endpoint.
src/relay_detector/protocols/gemini/client.py:61
↓ 3 callers
Class
Needle
One fact embedded in the haystack that the model must recall. `position_pct` is where the sentence is inserted in the haystack (0.0 = start,
src/relay_detector/core/long_context.py:194
↓ 3 callers
Class
TokenUsageDetector
src/relay_detector/protocols/gemini/detectors/token_usage.py:40
↓ 2 callers
Class
BasicRequestDetector
src/relay_detector/protocols/gemini/detectors/basic_request.py:10
↓ 2 callers
Class
DetectionReport
src/relay_detector/core/models.py:106
↓ 2 callers
Class
GeminiAPIError
src/relay_detector/protocols/gemini/client.py:53
↓ 2 callers
Class
Job
web/jobs.py:55
↓ 2 callers
Class
Mode
src/relay_detector/core/models.py:12
↓ 2 callers
Class
PerformanceMetrics
src/relay_detector/core/models.py:97
↓ 2 callers
Class
ProtocolStats
Per-protocol stats for one relay domain.
web/leaderboard.py:67
↓ 2 callers
Class
ProtocolTemplate
A compact description of an official OpenAI response envelope.
src/relay_detector/protocols/openai/protocol_templates.py:25
↓ 2 callers
Class
RelayStats
Aggregated stats for one relay domain across all protocols + checks.
web/leaderboard.py:88
↓ 2 callers
Class
Report
src/relay_detector/report.py:32
↓ 2 callers
Class
TemplateValidation
src/relay_detector/protocols/openai/protocol_templates.py:134
↓ 2 callers
Class
_Spy
tests/test_client.py:282
↓ 2 callers
Class
_ThinkingCaptureClient
tests/test_active_detectors.py:302
↓ 1 callers
Class
BasicRequestDetector
src/relay_detector/protocols/openai/detectors/basic_request.py:9
↓ 1 callers
Class
BehavioralSignatureDetector
src/relay_detector/protocols/anthropic/detectors/behavioral_signature.py:37
↓ 1 callers
Class
ComparisonReport
src/relay_detector/protocols/anthropic/comparator.py:63
↓ 1 callers
Class
ConsistencyDetector
src/relay_detector/protocols/anthropic/detectors/consistency.py:30
↓ 1 callers
Class
DetectorComparison
src/relay_detector/protocols/anthropic/comparator.py:41
↓ 1 callers
Class
FailingClient
tests/test_openai_baseline.py:206
↓ 1 callers
Class
FakeChatBase
Stand-in for the real GeminiClient used by ThrottledGeminiClient. Returns deterministic responses keyed off prompt content and tools so a ful
tests/test_gemini_phase3.py:124
↓ 1 callers
Class
FakeClient
tests/test_openai_baseline.py:175
↓ 1 callers
Class
FakeOpenAIBaseClient
tests/test_openai_phase2.py:67
↓ 1 callers
Class
FunctionCallingDetector
src/relay_detector/protocols/gemini/detectors/function_calling.py:31
↓ 1 callers
Class
FunctionCallingDetector
src/relay_detector/protocols/openai/detectors/function_calling.py:30
↓ 1 callers
Class
IdentityDetector
src/relay_detector/protocols/anthropic/detectors/identity.py:73
↓ 1 callers
Class
IntegrityDetector
src/relay_detector/protocols/gemini/detectors/integrity.py:25
↓ 1 callers
Class
IntegrityDetector
src/relay_detector/protocols/anthropic/detectors/integrity.py:51
↓ 1 callers
Class
IntegrityDetector
src/relay_detector/protocols/openai/detectors/integrity.py:14
↓ 1 callers
Class
JobEntry
One row in a per-domain detail page's history table.
web/leaderboard.py:268
↓ 1 callers
Class
KnowledgeDetector
src/relay_detector/protocols/anthropic/detectors/knowledge.py:35
↓ 1 callers
Class
LongContextDetector
src/relay_detector/protocols/anthropic/detectors/long_context.py:149
↓ 1 callers
Class
ModelConsistencyDetector
src/relay_detector/protocols/openai/detectors/model_consistency.py:12
↓ 1 callers
Class
ModelInfoDetector
src/relay_detector/protocols/gemini/detectors/model_info.py:19
↓ 1 callers
Class
PDFDetector
src/relay_detector/protocols/anthropic/detectors/pdf.py:40
↓ 1 callers
Class
PromptOverflow
tests/test_anthropic_long_context.py:329
↓ 1 callers
Class
Protocol
src/relay_detector/core/models.py:18
↓ 1 callers
Class
ProtocolDetector
src/relay_detector/protocols/anthropic/detectors/protocol.py:32
↓ 1 callers
Class
ProtocolDetector
src/relay_detector/protocols/openai/detectors/protocol.py:15
↓ 1 callers
Class
ReasoningOnlyBasicClient
tests/test_openai_phase2.py:138
↓ 1 callers
Class
RunOutcome
src/relay_detector/core/runner.py:36
↓ 1 callers
Class
Runner
src/relay_detector/core/runner.py:41
↓ 1 callers
Class
Runner
src/relay_detector/protocols/gemini/runner.py:34
↓ 1 callers
Class
Runner
Anthropic-compatible runner preserving the v1 constructor.
src/relay_detector/protocols/anthropic/runner.py:33
↓ 1 callers
Class
Runner
src/relay_detector/protocols/openai/runner.py:34
↓ 1 callers
Class
StructuredOutputDetector
src/relay_detector/protocols/gemini/detectors/structured_output.py:16
↓ 1 callers
Class
StructuredOutputDetector
src/relay_detector/protocols/anthropic/detectors/structured_output.py:45
↓ 1 callers
Class
StructuredOutputDetector
src/relay_detector/protocols/openai/detectors/structured_output.py:12
↓ 1 callers
Class
ThrottledGeminiClient
Semaphore + backoff wrapper. Mirrors the OpenAI throttled client shape. Detectors call .chat_completions_create / .chat_completions_stream; passi
src/relay_detector/protocols/gemini/client.py:155
↓ 1 callers
Class
ThrottledOpenAIClient
src/relay_detector/protocols/openai/client.py:162
↓ 1 callers
Class
TokenBillingDetector
src/relay_detector/protocols/openai/detectors/token_billing.py:45
↓ 1 callers
Class
TokenUsageDetector
src/relay_detector/protocols/anthropic/detectors/token_usage.py:43
↓ 1 callers
Class
_CapturedOutcome
Stand-in for runner.run() return — minimal shape jobs._run reads.
tests/test_jobs_long_context.py:27
↓ 1 callers
Class
_InflatedTokenUsageFakeClient
tests/test_active_detectors.py:422
↓ 1 callers
Class
_TokenUsageFakeClient
tests/test_active_detectors.py:389
Class
ActiveDetector
Issues its own API requests.
src/relay_detector/core/detectors_base.py:57
Class
BaseDetector
src/relay_detector/core/detectors_base.py:21
Class
DetectionTier
src/relay_detector/core/models.py:24
Class
DetectorComparison
src/relay_detector/core/comparator_framework.py:35
Class
ExecutionConfig
src/relay_detector/core/models.py:30
Class
OpenAIBaselineClient
src/relay_detector/protocols/openai/baseline.py:33
Class
PassiveDetector
Observes (request, response) tuples from active detectors and accumulates. Does NOT issue its own requests — zero token cost. Called by Throttled
src/relay_detector/core/detectors_base.py:89
Class
Severity
src/relay_detector/core/comparator_framework.py:15
Class
Severity
src/relay_detector/protocols/anthropic/comparator.py:21
Class
TokenParityDetector
src/relay_detector/protocols/openai/detectors/token_parity.py:17