An open-source database of AI models.
This report summarizes scanner evidence for anomalyco/models.dev, a TypeScript project with 7,462 GitHub stars. SynthScan examined 341,961 lines of code across 10623 source files, recording 1199 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 5.7 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1195 finding(s).
Are imports declared and package/API names verified? 4 finding(s).
Are wrappers, guards, and repeated structures necessary? 39 finding(s).
Which changes need focused human review? 1199 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1199 distinct pattern matches across 6 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | providers/anyapi/provider.toml | 1 | name = "AnyAPI" | COMMENT |
| LOW | providers/kilo/provider.toml | 1 | name = "Kilo Gateway" | COMMENT |
| LOW | providers/alibaba-token-plan/provider.toml | 1 | # Reasoning HTTP format (accessed 2026-07-20): | COMMENT |
| LOW | providers/alibaba-token-plan/provider.toml | 21 | env = ["ALIBABA_TOKEN_PLAN_API_KEY"] | COMMENT |
| LOW | providers/alibaba-token-plan/provider.toml | 41 | # it isn't listed there. | COMMENT |
| LOW | …libaba-token-plan/models/qwen-audio-3.0-asr-flash.toml | 1 | # Current canonical Token Plan host and native route (accessed 2026-10-23): | COMMENT |
| LOW | providers/alibaba-token-plan/models/kimi-k2.6.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | providers/alibaba-token-plan/models/qwen3.8-max.toml | 1 | # Sources (accessed 2026-08-03): | COMMENT |
| LOW | …rs/alibaba-token-plan/models/deepseek-v4-pro-0813.toml | 1 | # Reasoning HTTP format (accessed 2026-08-15): | COMMENT |
| LOW | providers/alibaba-token-plan/models/qwen3.8-flash.toml | 1 | # Sources (accessed 2026-08-27): | COMMENT |
| LOW | …ders/alibaba-token-plan/models/happyhorse-1.1-i2v.toml | 1 | # HappyHorse 1.1 image-to-video. Served on the ASYNC video-synthesis endpoint, | COMMENT |
| LOW | providers/alibaba-token-plan/models/kimi-k2.7-code.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | …ders/alibaba-token-plan/models/happyhorse-1.1-t2v.toml | 1 | # HappyHorse 1.1 text-to-video. Served on the ASYNC video-synthesis endpoint, | COMMENT |
| LOW | providers/alibaba-token-plan/models/qwen3.6-plus.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | providers/alibaba-token-plan/models/qwen3.7-max.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | providers/alibaba-token-plan/models/qwen3.6-flash.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | …ers/alibaba-token-plan/models/deepseek-v4.1-flash.toml | 1 | # Reasoning HTTP format (accessed 2026-09-15): | COMMENT |
| LOW | providers/alibaba-token-plan/models/qwen3.7-plus.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | providers/alibaba-token-plan/models/kimi-k2.5.toml | 1 | # Reasoning HTTP format (accessed 2026-06-25): | COMMENT |
| LOW | …ders/alibaba-token-plan/models/happyhorse-1.1-r2v.toml | 1 | # HappyHorse 1.1 reference-to-video. Served on the ASYNC video-synthesis endpoint, | COMMENT |
| LOW | …ders/alibaba-token-plan/models/qwen-image-3.0-pro.toml | 1 | # Current canonical Token Plan host and native route (accessed 2026-10-23): | COMMENT |
| LOW | …iders/alibaba-token-plan/models/deepseek-v4-flash.toml | 1 | # Deprecated on Alibaba Token Plan (Global): absent from the exact-string | COMMENT |
| LOW | …ers/alibaba-token-plan/models/qwen3.8-max-preview.toml | 1 | # Sources (accessed 2026-09-10): | COMMENT |
| LOW | …libaba-token-plan/models/deepseek-v4.1-flash-1017.toml | 1 | # Model availability: deepseek-v4.1-flash-1017 is listed in the Global Token Plan | COMMENT |
| LOW | …oviders/impossibl/models/thinkingmachines/inkling.toml | 1 | # Pricing: https://api.impossibl.com/v1/models | COMMENT |
| LOW | providers/gmicloud/models/MiniMaxAI/MiniMax-M3.toml | 1 | # Sources verified 2026-08-25: | COMMENT |
| LOW | providers/umans-ai-coding-plan/provider.toml | 1 | name = "Umans AI Coding Plan" | COMMENT |
| LOW | …coding-plan/models/umans-deepseek-v4.1-flash-1017.toml | 1 | # Dated pin of umans-deepseek-v4.1-flash, the coding-plan twin of the umans-ai | COMMENT |
| LOW | …oviders/umans-ai-coding-plan/models/umans-glm-5.3.toml | 1 | # Effort only: reasoning_effort = low|high|max. Thinking is ALWAYS ON (Z.ai's | COMMENT |
| LOW | …s-ai-coding-plan/models/umans-deepseek-v4.1-flash.toml | 1 | # Toggle: thinking.type = enabled|disabled | COMMENT |
| LOW | …/runinfra/models/deepseek-ai/DeepSeek-V4-Pro-0813.toml | 1 | # Source: https://runinfra.ai/inference-api/deepseek-v4-pro | COMMENT |
| LOW | …uninfra/models/deepseek-ai/DeepSeek-V4-Flash-0731.toml | 1 | # Source: https://runinfra.ai/inference-api/deepseek-v4-flash | COMMENT |
| LOW | providers/runinfra/models/Qwen/Qwen3.8-27B.toml | 1 | # Source: https://runinfra.ai/inference-api/qwen3-8-27b | COMMENT |
| LOW | providers/runinfra/models/zai-org/GLM-5.3-Flash.toml | 1 | # Source: https://runinfra.ai/inference-api/glm-5-3-flash | COMMENT |
| LOW | providers/runinfra/models/zai-org/GLM-5.3.toml | 1 | # Source: https://runinfra.ai/inference-api/glm-5-3 | COMMENT |
| LOW | …nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16.toml | 1 | # Source: https://runinfra.ai/inference-api/nemotron-3-5-lightning-30b | COMMENT |
| LOW | …ders/runinfra/models/ornith-ai/Ornith-1.5-35B-A3B.toml | 1 | # Source: https://runinfra.ai/inference-api/ornith-1-5-35b | COMMENT |
| LOW | …/runinfra/models/Inferact/Qwen3.8-2.4T-A95B-NVFP4.toml | 1 | # Source: https://runinfra.ai/inference-api/qwen3-8-2-4t-a95b | COMMENT |
| LOW | providers/cohere/provider.toml | 1 | name = "Cohere" | COMMENT |
| LOW | …iders/cohere/models/north-small-translate-09-2026.toml | 1 | # Cohere's /v1/models and /v2/chat use north-small-translate-09-2026 (verified October 1, 2026). | COMMENT |
| LOW | …oviders/cohere/models/command-a-translate-08-2025.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/command-r7b-arabic-02-2025.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/command-a-vision-07-2025.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/tiny-aya-earth.toml | 1 | # https://docs.cohere.com/docs/tiny-aya | COMMENT |
| LOW | providers/cohere/models/c4ai-aya-expanse-32b.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/tiny-aya-water.toml | 1 | # https://docs.cohere.com/docs/tiny-aya | COMMENT |
| LOW | …oviders/cohere/models/command-a-reasoning-08-2025.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/north-mini-code-1-0.toml | 1 | # Served through the Compatibility API (POST https://api.cohere.ai/compatibility/v1/chat/completions), | COMMENT |
| LOW | providers/cohere/models/command-r-08-2024.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/tiny-aya-fire.toml | 1 | # https://docs.cohere.com/docs/tiny-aya | COMMENT |
| LOW | providers/cohere/models/tiny-aya-global.toml | 1 | # https://docs.cohere.com/docs/tiny-aya | COMMENT |
| LOW | providers/cohere/models/command-r-plus-08-2024.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/command-r7b-12-2024.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/command-a-plus-05-2026.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/command-a-03-2025.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/cohere/models/c4ai-aya-vision-32b.toml | 1 | # Native Chat API (POST https://api.cohere.com/v2/chat), sources accessed 2026-10-19: | COMMENT |
| LOW | providers/requesty/provider.toml | 1 | name = "Requesty" | COMMENT |
| LOW | providers/jiekou/provider.toml | 1 | name = "Jiekou.AI" | COMMENT |
| LOW | providers/poe/provider.toml | 1 | # Sources (accessed 2026-10-12): | COMMENT |
| LOW | providers/poe/models/google/gemini-3.5-flash.toml | 1 | # Sources: Poe API /v1/models, accessed 2026-10-12 (verified live with | COMMENT |
| 881 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM | providers/alibaba-token-plan/models/kimi-k2.6.toml | 9 | # rejects 262,145, so output is bounded only by the context window. The override | COMMENT |
| MEDIUM | providers/inferx/models/Qwen3-Embedding-8B.toml | 1 | # Lab identity: https://huggingface.co/Qwen/Qwen3-Embedding-8B (embedding model). | COMMENT |
| MEDIUM | …ders/runinfra/models/ornith-ai/Ornith-1.5-35B-A3B.toml | 10 | # The output budget is what THIS deployment was launched with; the context window matches the | COMMENT |
| MEDIUM | …opper/models/deepseek-v4.1-flash-1017-abliterated.toml | 3 | # - Model ID, context window, and USD-per-million-token prices: | COMMENT |
| MEDIUM | providers/sap-ai-core/provider.toml | 5 | # Raw orchestration v2 nests routed controls at $.config.modules.prompt_templating.model.params.<field>; for example, re | COMMENT |
| MEDIUM | …rs/sap-ai-core/models/cohere--command-a-reasoning.toml | 2 | # Not all models support the full range of configuration options. Where possible, orchestration maps unsupported values | COMMENT |
| MEDIUM | …iders/sap-ai-core/models/mistralai--mistral-small.toml | 2 | # Not all models support the full range of configuration options. Where possible, orchestration maps unsupported values | COMMENT |
| MEDIUM | providers/sap-ai-core/models/sonar-deep-research.toml | 1 | # Not all models support the full range of configuration options. Where possible, orchestration maps unsupported values | COMMENT |
| MEDIUM | providers/togetherai/provider.toml | 21 | # Output: Together has no output cap below the context window. max_tokens = 10,000,000 fails with | COMMENT |
| MEDIUM | providers/vancine/models/deepseek-v4.1-flash.toml | 12 | # output rate (no separate chain-of-thought price). | COMMENT |
| MEDIUM | providers/azure/models/deepseek-v4.1-flash.toml | 12 | # returns its chain of thought in `reasoning_content` (live 2026-10-24 on a Foundry resource). | COMMENT |
| MEDIUM | providers/azure/models/claude-opus-4-7.toml | 5 | # Claude 4.6+ bills the full 1M context window at standard rates (no long-context | COMMENT |
| MEDIUM | providers/azure/models/deepseek-v4-flash.toml | 3 | # returns its chain of thought in `reasoning_content` (live 2026-10-24 on a Foundry resource). | COMMENT |
| MEDIUM | providers/azure/models/deepseek-v4-pro.toml | 3 | # returns its chain of thought in `reasoning_content` (live 2026-10-24 on a Foundry resource). | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.2-codex.toml | 2 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-opus-5.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/viv-fast.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-6.1-terra.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.6-sol.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-fable-5.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-6-sol.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-sonnet-5.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-6-luna.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-haiku-5-5.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.6-terra.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-6-astra.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.3-codex.toml | 2 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/deepseek-v4.1-flash.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.6-luna.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/jev.toml | 2 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-6.1-sol.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-sonnet-5-5.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.1-codex-max.toml | 2 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/glm-5.3.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-opus-5-5.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/glm-5.2.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/kimi-k3.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/gpt-5.1-codex.toml | 2 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/deepseek-v4-flash.toml | 2 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | providers/vivgrid/models/claude-fable-5-1.toml | 1 | # Pricing, context window and max output: | COMMENT |
| MEDIUM | …oviders/databricks/models/databricks-gpt-5-6-luna.toml | 11 | # Limits: supported-models says "For OpenAI, Google Gemini, and Anthropic models, the context window and maximum output | COMMENT |
| MEDIUM | providers/opper/models/gpt-5.3-codex.toml | 3 | # Catalog context equals the lab input cap; retain the lab total context window. | COMMENT |
| MEDIUM | providers/groq/models/llama-3.3-70b-versatile.toml | 6 | # Limits: https://console.groq.com/docs/models (context window 131_072, max completion tokens 32_768). | COMMENT |
| MEDIUM | providers/groq/models/llama-3.1-8b-instant.toml | 6 | # Limits: https://console.groq.com/docs/models (context window 131_072, max completion tokens 131_072). | COMMENT |
| MEDIUM | …ders/thinkingmachines/models/moonshotai/Kimi-K2.6.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | …gmachines/models/moonshotai/Kimi-K2.6:peft:131072.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | …/deepseek-ai/DeepSeek-V4.1-Flash-1017:peft:262144.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | …thinkingmachines/models/deepseek-ai/DeepSeek-V3.1.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | …odels/deepseek-ai/DeepSeek-V4.1-Flash:peft:262144.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | …achines/models/Qwen/Qwen3.5-397B-A17B:peft:262144.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | …rs/thinkingmachines/models/Qwen/Qwen3.5-397B-A17B.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | providers/thinkingmachines/models/Qwen/Qwen3.5-9B.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | providers/thinkingmachines/models/Qwen/Qwen3.6-27B.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| MEDIUM | providers/thinkingmachines/models/Qwen/Qwen3-8B.toml | 1 | # Toggle: thinking.type = disabled (Tinker type Hybrid: "chain-of-thought can be disabled") | COMMENT |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | providers/aihubmix/models/qwen3.8-max-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | …s/aihubmix/models/nemotron-3-super-120b-a12b-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/glm-4.6v.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/mimo-v2.6-pro-ultraspeed.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gemini-4-argon.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gemini-3-pro-image.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-haiku-4-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-image-1.5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.5-122b-a10b.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.5-35b-a3b.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/mimo-v2.5-pro.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/glm-4.5v.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3-vl-plus.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.5-plus.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3-max.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.5-397b-a17b.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-sonnet-4-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/mimo-v2.6-flash.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.5-flash.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-6-sol.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/o3.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.8-flash-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-6-luna.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-opus-4-5-think.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-opus-4-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gemini-2.5-flash-lite.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-haiku-5-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/ling-3.0-flash-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-5.4-nano.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | …odels/nemotron-3-nano-omni-30b-a3b-reasoning-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-5.5-pro.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/glm-4.7-flash-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/mimo-v2.6-pro.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gemini-2.5-flash-image.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/o4-mini.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/coding-glm-5.2-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/step-5-preview.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-image-2.5-sunburst.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/grok-4.7.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.5-27b.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-image-2.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-6.1-sol.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-sonnet-5-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-sonnet-4-5-think.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | …iders/aihubmix/models/nemotron-3.5-lightning-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/glm-4.7.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | …/aihubmix/models/nemotron-3.5-content-safety-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/claude-opus-5-5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.6-35b-a3b.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/gpt-image-2.5-flare.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/glm-4.6.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | …s/aihubmix/models/nemotron-3-ultra-550b-a55b-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/coding-glm-5.3-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/mimo-v2.5.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | providers/aihubmix/models/qwen3.8-max-preview.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| HIGH | …oviders/aihubmix/models/coding-glm-5.3-flash-free.toml | 1 | # Generated by aihubmix-canon models.dev sync. Do not edit by hand. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | packages/core/test/sync.test.ts | 5406 | model.vendors.openai.capabilities.input.push("audio"); | CODE |
| CRITICAL | packages/core/test/sync.test.ts | 5419 | model.vendors.openai.capabilities.input.push("video"); | CODE |
| CRITICAL | packages/core/test/sync.test.ts | 5439 | model.vendors.openai.capabilities.input.push("future_modality"); | CODE |
| CRITICAL | packages/core/test/sync.test.ts | 5440 | model.vendors.openai.capabilities.output.push("future_output_modality"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/core/test/sync.test.ts | 2713 | function openRouterPeakPricedModel() { | CODE |
| LOW | packages/core/src/sync/providers/empiriolabs.ts | 268 | export function resolveEmpiriolabsBaseModel(id: string) { | CODE |
| LOW | packages/core/src/sync/providers/edenai.ts | 210 | export function collectFirstPartyBaseModels(models: readonly EdenAIModel[]) { | CODE |
| LOW | …kages/core/src/sync/providers/cloudflare-workers-ai.ts | 402 | function workersAiReasoningOptions({ id, reasoning }: WorkersAiModel): SyncedFullModel["reasoning_options"] { | CODE |
| LOW | …kages/core/src/sync/providers/cloudflare-workers-ai.ts | 453 | export function resolveCloudflareBaseModel(model: WorkersAiModel) { | CODE |
| LOW | packages/core/src/sync/providers/friendli.ts | 397 | function translateReasoningOptions( | CODE |
| LOW | packages/core/src/sync/providers/nano-gpt.ts | 218 | function hasInputCapabilityMetadata(model: NanoGptModel) { | CODE |
| LOW | packages/core/src/sync/providers/nano-gpt.ts | 294 | function resolveNanoGptCanonicalCandidate(modelID: string) { | CODE |
| LOW | packages/core/src/sync/providers/nano-gpt.ts | 298 | function stripNanoGptVariantSuffixes(modelID: string) { | CODE |
| LOW | packages/core/src/sync/providers/inceptron.ts | 152 | function validateReasoningContract(model: ReadyInceptronModel) { | CODE |
| LOW | packages/core/src/sync/providers/deepinfra.ts | 481 | export function resolveDeepInfraBaseModel(id: string) { | CODE |
| LOW | packages/core/src/sync/providers/huggingface.ts | 263 | export function resolveHuggingFaceBaseModel(id: string) { | CODE |
| LOW | packages/core/src/sync/providers/baseten.ts | 138 | export function buildBasetenDecisionModel( | CODE |
| LOW | packages/core/src/sync/providers/venice.ts | 277 | function veniceBaseModelCandidates(id: string, name: string) { | CODE |
| LOW | packages/core/src/sync/providers/digitalocean.ts | 360 | async function fetchAllDigitalOceanModels(key: string, fetcher: typeof fetch) { | CODE |
| LOW | packages/core/src/sync/providers/digitalocean.ts | 384 | async function fetchAllDigitalOceanCatalog(fetcher: typeof fetch) { | CODE |
| LOW | packages/core/src/sync/providers/digitalocean.ts | 783 | export function resolveDigitalOceanBaseModel(id: string) { | CODE |
| LOW | packages/core/src/sync/providers/github-copilot.ts | 102 | export function parseGitHubCopilotPricing(raw: unknown) { | CODE |
| LOW | packages/core/src/sync/providers/tinfoil.ts | 75 | function isRepresentableTokenModel(model: TinfoilModel) { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 87 | export function providerDirForMetadataLab(metadata: string): string { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 99 | export function openrouterDirsForMetadataLab(metadata: string): string[] { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 765 | export function buildOpenRouterMediaModel( | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 1523 | function openRouterReasoningOptions(reasoning: OpenRouterModel["reasoning"]): SyncedFullModel["reasoning_options"] { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 1550 | export function resolveCanonicalBaseModel(openrouterID: string) { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 1575 | export function resolveModelMetadataBaseModel(modelID: string) { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 1603 | function matchingModelMetadataFile(provider: string, candidates: string[]) { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 1630 | function canonicalBaseModelOverride(openrouterID: string) { | CODE |
| LOW | packages/core/src/sync/providers/openrouter.ts | 1636 | function shouldPreserveFactoredName( | CODE |
| LOW | …kages/core/src/sync/providers/cloudflare-ai-gateway.ts | 359 | export function buildCloudflareAiGatewayModel( | CODE |
| LOW | …kages/core/src/sync/providers/cloudflare-ai-gateway.ts | 496 | export function buildCloudflareAiGatewayMediaModel( | CODE |
| LOW | packages/core/src/sync/providers/aimlapi.ts | 1104 | function collectReasoningEffortEnums(node: unknown, into: Set<string>): void { | CODE |
| LOW | packages/core/src/sync/providers/merge-gateway.ts | 182 | export function mergeGatewayReasoningOptions( | CODE |
| LOW | packages/core/src/sync/providers/llmgateway.ts | 321 | function resolveLLMGatewayBaseModel(model: LLMGatewayModel, modelID = model.id) { | CODE |
| LOW | packages/core/src/sync/providers/llmgateway.ts | 535 | export function buildLLMGatewayMappedModel( | CODE |
| LOW | packages/core/src/sync/providers/llmgateway.ts | 790 | function llmGatewayReasoningOptions( | CODE |
| LOW | packages/web/src/index.ts | 668 | function writeClipboardWithSelection(value: string) { | CODE |
| LOW | packages/web/src/render.tsx | 166 | function buildProviderModelEntries(models: Map<string, ModelEntry>) { | CODE |
| LOW | packages/web/src/render.tsx | 543 | function compactMetadataDescription(parts: Array<string | undefined>, maxLength: number) { | CODE |
| LOW | packages/web/src/render.tsx | 1588 | function countLinkedProviderEntries() { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM⚡ | models.json | 1 | {"data":[{"id":"anthropic/claude-opus-4.7-fast","canonical_slug":"anthropic/claude-4.7-opus-fast-20260512","hugging_face | CODE |
| MEDIUM | …oviders/llmtr/models/google/gemini-2.5-flash-lite.toml | 8 | # The same harness detected reasoning on six Qwen routes in the same run, so [] here means | COMMENT |
| MEDIUM | models/perplexity/pplx-embed-context-v1-4b.toml | 1 | # Released 2026-02-26 with pplx-embed-v1: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-model | COMMENT |
| MEDIUM | models/perplexity/pplx-embed-context-v1-0.6b.toml | 1 | # Released 2026-02-26 with pplx-embed-v1: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-model | COMMENT |
| MEDIUM | models/perplexity/pplx-embed-v1-4b.toml | 1 | # Released 2026-02-26: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-ret | COMMENT |
| MEDIUM | models/perplexity/pplx-embed-v1-0.6b.toml | 1 | # Released 2026-02-26: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-ret | COMMENT |