MCPcopy Create free account

hub / github.com/canarybyte/veridrop / functions

Functions825 in github.com/canarybyte/veridrop

↓ 1 callersFunction_add_responses_features
(features: dict[str, Any], payload: dict[str, Any])
src/relay_detector/protocols/openai/baseline.py:342
↓ 1 callersFunction_aggregate
Same scoring philosophy as the OpenAI variant — drop skip tiers from the average so model-limit constraints don't penalize the relay. See prot
src/relay_detector/protocols/anthropic/detectors/long_context.py:474
↓ 1 callersFunction_aggregate
Combine per-tier outcomes into one score / status / human summary. Tier entry kinds: - pass/partial/fail: probed with a real request
src/relay_detector/protocols/openai/detectors/long_context.py:328
↓ 1 callersFunction_anthropic_jpg_note
(report: dict[str, Any])
web/image_report.py:279
↓ 1 callersFunction_anthropic_report_notes
(report: dict)
web/server.py:971
↓ 1 callersFunction_bare
(name: str)
src/relay_detector/protocols/gemini/__init__.py:53
↓ 1 callersMethod_broadcast
( self, request: dict[str, Any], response: dict[str, Any], headers: httpx.Head
src/relay_detector/protocols/openai/client.py:208
↓ 1 callersFunction_build_combined_prompt
(coverage: list[dict])
src/relay_detector/protocols/anthropic/detectors/knowledge.py:122
↓ 1 callersFunction_build_summary
( b_total: float, r_total: float, overall: Severity, detectors: list[DetectorComparison],
src/relay_detector/protocols/anthropic/comparator.py:554
↓ 1 callersFunction_cache_key
(base_url: str, api_key: str)
web/probe.py:60
↓ 1 callersFunction_chars_per_token
(protocol: str | None)
src/relay_detector/core/long_context.py:61
↓ 1 callersFunction_chat_fingerprints
(payload: dict[str, Any])
src/relay_detector/protocols/openai/protocol_templates.py:972
↓ 1 callersFunction_chat_json_schema_format
()
src/relay_detector/protocols/openai/baseline.py:450
↓ 1 callersFunction_chat_payload
(**overrides)
tests/test_openai_baseline.py:53
↓ 1 callersFunction_chat_weather_tool
()
src/relay_detector/protocols/openai/baseline.py:495
↓ 1 callersFunction_check_chat_choice
( choice: Any, index: int, template: ProtocolTemplate, issues: list[ProtocolIssue], )
src/relay_detector/protocols/openai/protocol_templates.py:708
↓ 1 callersFunction_check_chat_tool_call
( tool_call: Any, path: str, issues: list[ProtocolIssue], )
src/relay_detector/protocols/openai/protocol_templates.py:824
↓ 1 callersFunction_check_function_call_item
( item: dict[str, Any], path: str, issues: list[ProtocolIssue], )
src/relay_detector/protocols/openai/protocol_templates.py:672
↓ 1 callersFunction_check_response_content_item
( item: Any, path: str, template: ProtocolTemplate, issues: list[ProtocolIssue], )
src/relay_detector/protocols/openai/protocol_templates.py:615
↓ 1 callersFunction_check_response_output_item
( item: Any, index: int, template: ProtocolTemplate, issues: list[ProtocolIssue], )
src/relay_detector/protocols/openai/protocol_templates.py:535
↓ 1 callersFunction_check_usage_adapter_fingerprints
Flag provider-adapter fingerprints inside OpenAI usage objects. Official OpenAI Chat Completions usage carries `prompt_tokens`, `completion_t
src/relay_detector/protocols/openai/protocol_templates.py:445
↓ 1 callersFunction_chunk_has_text_delta
(chunk: dict[str, Any])
src/relay_detector/protocols/gemini/client.py:299
↓ 1 callersFunction_chunk_has_text_delta
(chunk: dict[str, Any])
src/relay_detector/protocols/openai/client.py:291
↓ 1 callersFunction_collect_nested_errors
(value, out: list[str])
src/relay_detector/core/scorer.py:135
↓ 1 callersFunction_collect_reference
(model: str, api_key: str)
src/relay_detector/protocols/openai/detectors/token_billing.py:310
↓ 1 callersFunction_collect_stream_usage
(client, body: dict[str, Any])
src/relay_detector/protocols/gemini/detectors/token_usage.py:202
↓ 1 callersFunction_collect_stream_usage
(client, body: dict[str, Any])
src/relay_detector/protocols/anthropic/detectors/token_usage.py:157
↓ 1 callersFunction_count_close
(non_stream: dict[str, Any], count_result: dict[str, Any])
src/relay_detector/protocols/anthropic/detectors/token_usage.py:245
↓ 1 callersFunction_count_tokens
(client, body: dict[str, Any])
src/relay_detector/protocols/anthropic/detectors/token_usage.py:188
↓ 1 callersFunction_draw_check
Filled circle with a white check mark inside.
web/image_report.py:133
↓ 1 callersFunction_draw_circle_score
Big ring-style score badge — thick colored border, white interior.
web/image_report.py:158
↓ 1 callersFunction_draw_cross
(d: ImageDraw.ImageDraw, cx: int, cy: int, r: int, color: tuple[int, int, int])
web/image_report.py:144
↓ 1 callersFunction_draw_metric_tile
One of the four bottom metric boxes.
web/image_report.py:195
↓ 1 callersFunction_evaluation
(score: float, usage_present: bool)
src/relay_detector/protocols/gemini/detectors/token_usage.py:157
↓ 1 callersFunction_evaluation
(score: float, count_result: dict[str, Any])
src/relay_detector/protocols/anthropic/detectors/token_usage.py:258
↓ 1 callersFunction_evaluation_text
( score: float, stream_usage: dict[str, Any], reference_result: dict[str, Any], )
src/relay_detector/protocols/openai/detectors/token_billing.py:273
↓ 1 callersFunction_extract_usage
(data: Any)
src/relay_detector/protocols/openai/detectors/token_parity.py:78
↓ 1 callersFunction_filler_sentence
One synthetic sentence ~80–180 chars. Mix of templates for variety (~20–45 tokens each) so the haystack converges on the target length in 500–
src/relay_detector/core/long_context.py:425
↓ 1 callersFunction_finish_reason
(resp: dict)
src/relay_detector/protocols/openai/detectors/integrity.py:151
↓ 1 callersFunction_finish_reason
(resp: dict)
src/relay_detector/protocols/openai/detectors/structured_output.py:106
↓ 1 callersFunction_finish_reason
(resp: dict)
src/relay_detector/protocols/openai/detectors/basic_request.py:64
↓ 1 callersFunction_gemini_jpg_note
(report: dict[str, Any])
web/image_report.py:294
↓ 1 callersFunction_gemini_model_choices
()
web/server.py:101
↓ 1 callersFunction_gemini_report_notes
(report: dict)
web/server.py:999
↓ 1 callersFunction_get_models_with_fallback
Try `/models`, then `/v1/models` for providers that require it.
web/probe.py:234
↓ 1 callersFunction_get_reference
(model: str)
src/relay_detector/protocols/openai/detectors/token_billing.py:291
↓ 1 callersFunction_initial_haystack_target
(target_tokens: int, ctx_limit: int)
src/relay_detector/protocols/anthropic/detectors/long_context.py:88
↓ 1 callersFunction_integrity_subcheck_detail
Render a per-sub-check value snippet, e.g. (ns=58, stream=30, diff=28).
src/relay_detector/protocols/anthropic/comparator.py:353
↓ 1 callersFunction_join_text
(content)
src/relay_detector/protocols/anthropic/detectors/pdf.py:103
↓ 1 callersFunction_join_text
(content)
src/relay_detector/protocols/anthropic/detectors/identity.py:129
↓ 1 callersFunction_join_text
(content)
src/relay_detector/protocols/anthropic/detectors/behavioral_signature.py:113
↓ 1 callersFunction_join_text
Concat all text blocks from an Anthropic Messages content array.
src/relay_detector/protocols/anthropic/detectors/long_context.py:565
↓ 1 callersFunction_join_text_blocks
(content)
src/relay_detector/protocols/anthropic/detectors/integrity.py:206
↓ 1 callersFunction_load_baseline_usage
(model: str, mode: Mode | None)
src/relay_detector/protocols/openai/detectors/token_parity.py:51
↓ 1 callersFunction_load_dotenv
Lightweight .env loader (avoid python-dotenv dep for M1). Project-local .env values override shell environment — matches standard dotenv tool
src/relay_detector/cli.py:52
↓ 1 callersFunction_load_questions
()
src/relay_detector/protocols/anthropic/detectors/knowledge.py:26
↓ 1 callersFunction_looks_detector_prompt_overflow
(err_msg: str, ctx_limit: int)
src/relay_detector/protocols/anthropic/detectors/long_context.py:112
↓ 1 callersFunction_looks_like_markdown_json
(text: str)
src/relay_detector/protocols/gemini/detectors/structured_output.py:112
↓ 1 callersFunction_looks_like_markdown_json
(text: str)
src/relay_detector/protocols/openai/detectors/structured_output.py:116
↓ 1 callersFunction_looks_like_reasoning_budget_exhausted
( usage: object, finish_reason: object, text: str )
src/relay_detector/protocols/openai/detectors/basic_request.py:71
↓ 1 callersFunction_looks_rate_limited
See OpenAI long_context variant — same logic, same markers plus Anthropic's `overloaded_error` which is also transient and not a truncation si
src/relay_detector/protocols/anthropic/detectors/long_context.py:71
↓ 1 callersFunction_message_text
(resp: dict)
src/relay_detector/protocols/openai/detectors/integrity.py:142
↓ 1 callersFunction_message_text
(resp: dict)
src/relay_detector/protocols/openai/detectors/function_calling.py:128
↓ 1 callersFunction_message_text
(resp: dict)
src/relay_detector/protocols/openai/detectors/structured_output.py:97
↓ 1 callersFunction_message_text
(resp: dict)
src/relay_detector/protocols/openai/detectors/basic_request.py:53
↓ 1 callersFunction_message_text
(resp: dict)
src/relay_detector/protocols/openai/detectors/long_context.py:412
↓ 1 callersFunction_model_choices
Curated dropdown — 4 most-tested model names. Free-form input still accepts anything; lookup_model() prefix-matches snapshot/alias forms. We
web/server.py:76
↓ 1 callersFunction_model_probe_urls
Return candidate model-list URLs for OpenAI-compatible roots. Most relays ask users to paste a `/v1` API root, so `/models` is enough. Some p
web/probe.py:220
↓ 1 callersFunction_models_match
(request_model: str, response_model: str)
src/relay_detector/protocols/openai/protocol_templates.py:928
↓ 1 callersFunction_new_job_id
()
web/jobs.py:73
↓ 1 callersMethod_note_for
(self, r)
src/relay_detector/report.py:100
↓ 1 callersFunction_openai_api_key
()
src/relay_detector/protocols/openai/detectors/token_billing.py:532
↓ 1 callersFunction_openai_jpg_note
(report: dict[str, Any])
web/image_report.py:242
↓ 1 callersFunction_openai_model_choices
()
web/server.py:95
↓ 1 callersFunction_openai_probe_feature_summary
(probe: dict)
src/relay_detector/cli.py:887
↓ 1 callersFunction_parse_openai_sse
Minimal SSE parser for OpenAI-shape Chat Completions streams. Treats `data: [DONE]` as a normal chunk with `_done=True` so callers can observ
src/relay_detector/protocols/gemini/client.py:119
↓ 1 callersFunction_parse_openai_sse
(lines: AsyncIterator[str])
src/relay_detector/protocols/openai/client.py:132
↓ 1 callersFunction_pick_best
Delegate to the protocol package's pick_default_model. Lazy-imported per call to keep web/probe protocol-agnostic at module load time (and to
web/probe.py:329
↓ 1 callersMethod_precount_input_tokens
Ask Anthropic exactly how many input_tokens the request will be, without sending it. Returns None on any failure (relay doesn't imple
src/relay_detector/protocols/anthropic/detectors/long_context.py:251
↓ 1 callersFunction_preference_list
Read each protocol's _PREFERRED_DEFAULTS tuple. Empty on errors.
web/probe.py:290
↓ 1 callersMethod_probe_tier_with_tpm_retry
Sleep ~75s and retry once on rate_limited — see OpenAI variant for full rationale. Anthropic's RPM window is also 60s sliding, so the
src/relay_detector/protocols/anthropic/detectors/long_context.py:272
↓ 1 callersMethod_probe_tier_with_tpm_retry
Run a tier; on rate_limited, sleep ~75s and retry once. ThrottledClient's built-in retry caps Retry-After at MAX_BACKOFF_S = 30s (fin
src/relay_detector/protocols/openai/detectors/long_context.py:184
↓ 1 callersFunction_read_reference_cache
()
src/relay_detector/protocols/openai/detectors/token_billing.py:511
↓ 1 callersFunction_render_comparison
Render a side-by-side comparison table to the terminal.
src/relay_detector/cli.py:531
↓ 1 callersFunction_render_openai_baseline
(report: dict)
src/relay_detector/cli.py:829
↓ 1 callersFunction_render_openai_validation
(result)
src/relay_detector/cli.py:676
↓ 1 callersFunction_render_ping_result
(resp: dict, headers, latency_ms: int)
src/relay_detector/cli.py:143
↓ 1 callersFunction_report_candidates
(job_id: str)
web/jobs.py:160
↓ 1 callersFunction_report_notes
Human-readable report notes for the result page. These are deliberately plain Chinese explanations. The raw detector JSON is useful for debug
web/server.py:854
↓ 1 callersFunction_responses_fingerprints
(payload: dict[str, Any])
src/relay_detector/protocols/openai/protocol_templates.py:946
↓ 1 callersFunction_responses_json_schema_format
()
src/relay_detector/protocols/openai/baseline.py:441
↓ 1 callersFunction_responses_weather_tool
()
src/relay_detector/protocols/openai/baseline.py:485
↓ 1 callersFunction_result_rows
Flatten results into the order/labels the result template expects.
web/server.py:813
↓ 1 callersMethod_retry_after_seconds
(self, exc: GeminiAPIError, attempt: int)
src/relay_detector/protocols/gemini/client.py:195
↓ 1 callersMethod_retry_after_seconds
(self, exc: AnthropicAPIError, attempt: int)
src/relay_detector/protocols/anthropic/client.py:289
↓ 1 callersMethod_retry_after_seconds
(self, exc: OpenAIAPIError, attempt: int)
src/relay_detector/protocols/openai/client.py:198
↓ 1 callersFunction_run
( job_id: str, base_url: str, api_key: str, model: str, mode: str, protocol: str,
web/jobs.py:169
↓ 1 callersFunction_run_anthropic
( base_url: str, api_key: str, model: str, cfg: ExecutionConfig, )
web/jobs.py:292
↓ 1 callersFunction_run_detect
( protocol: Protocol, base_url: str, api_key: str, model: str, config: ExecutionConfig,
src/relay_detector/cli.py:349
↓ 1 callersFunction_run_gemini
( base_url: str, api_key: str, model: str, cfg: ExecutionConfig, )
web/jobs.py:326
← previousnext →201–300 of 825, ranked by callers