Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.
This report summarizes scanner evidence for decolua/9router, a JavaScript project with 30,578 GitHub stars. SynthScan examined 281,331 lines of code across 1555 source files, recording 778 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 7.3 (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.
Can maintainers explain intent, assumptions, and trade-offs? 391 finding(s).
Are imports declared and package/API names verified? 189 finding(s).
Are wrappers, guards, and repeated structures necessary? 438 finding(s).
Which changes need focused human review? 778 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 778 distinct pattern matches across 11 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 |
|---|---|---|---|---|
| HIGH | README.md | 1480 | Authorization: Bearer your-api-key | CODE |
| HIGH | README.md | 1496 | Authorization: Bearer your-api-key | CODE |
| HIGH | README.zh-CN.md | 1246 | Authorization: Bearer your-api-key | CODE |
| HIGH | README.zh-CN.md | 1262 | Authorization: Bearer your-api-key | CODE |
| HIGH | gitbook/content/vi/troubleshooting.md | 247 | -H "Authorization: Bearer your-api-key" | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 21 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 28 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 55 | api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 75 | apiKey: "your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 94 | -H "Authorization: Bearer your-api-key-from-dashboard" \ | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 113 | Authorization: Bearer your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 136 | openai_api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 153 | api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 169 | openai.api_key = "your-api-key-from-dashboard" | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 201 | apiKey: "your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 227 | api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 256 | ROUTER_API_KEY=your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 277 | api_key="your-api-key", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 298 | api_key="your-api-key", | CODE |
| HIGH | gitbook/content/vi/integration/other-tools.md | 344 | - Kiểm tra format header Authorization: `Bearer your-api-key` | CODE |
| HIGH | gitbook/content/vi/integration/continue.md | 33 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/vi/integration/continue.md | 48 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/vi/integration/continue.md | 55 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/vi/integration/continue.md | 62 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/vi/integration/continue.md | 69 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/vi/integration/continue.md | 145 | "apiKey": "your-api-key", | CODE |
| HIGH | gitbook/content/vi/integration/continue.md | 164 | "apiKey": "your-api-key", | CODE |
| HIGH | gitbook/content/vi/integration/roo.md | 26 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/vi/integration/roo.md | 32 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/vi/providers/cheap.md | 55 | API Key: zhipu-your-api-key-here | CODE |
| HIGH | gitbook/content/vi/features/quota-tracking.md | 565 | Authorization: Bearer your-api-key | CODE |
| HIGH | gitbook/content/vi/features/quota-tracking.md | 618 | Authorization: Bearer your-api-key | CODE |
| HIGH | gitbook/content/vi/features/combos.md | 384 | -H "Authorization: Bearer your-api-key" \ | CODE |
| HIGH | gitbook/content/vi/getting-started/installation.md | 150 | -H "Authorization: Bearer your-api-key" | CODE |
| HIGH | gitbook/content/vi/getting-started/installation.md | 172 | -H "Authorization: Bearer your-api-key" \ | CODE |
| HIGH | gitbook/content/ja/troubleshooting.md | 247 | -H "Authorization: Bearer your-api-key" | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 21 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 28 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 55 | api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 75 | apiKey: "your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 94 | -H "Authorization: Bearer your-api-key-from-dashboard" \ | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 113 | Authorization: Bearer your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 136 | openai_api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 153 | api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 169 | openai.api_key = "your-api-key-from-dashboard" | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 201 | apiKey: "your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 227 | api_key="your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 256 | ROUTER_API_KEY=your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 277 | api_key="your-api-key", | CODE |
| HIGH | gitbook/content/ja/integration/other-tools.md | 298 | api_key="your-api-key", | CODE |
| HIGH | gitbook/content/ja/integration/continue.md | 33 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/ja/integration/continue.md | 48 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/ja/integration/continue.md | 55 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/ja/integration/continue.md | 62 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH⚡ | gitbook/content/ja/integration/continue.md | 69 | "apiKey": "your-api-key-from-dashboard", | CODE |
| HIGH | gitbook/content/ja/integration/continue.md | 145 | "apiKey": "your-api-key", | CODE |
| HIGH | gitbook/content/ja/integration/continue.md | 164 | "apiKey": "your-api-key", | CODE |
| HIGH | gitbook/content/ja/integration/roo.md | 26 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/ja/integration/roo.md | 32 | API Key: your-api-key-from-dashboard | CODE |
| HIGH | gitbook/content/ja/providers/cheap.md | 55 | API Key: zhipu-your-api-key-here | CODE |
| 116 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | open-sse/config/ttsModels.js | 3 | // ── Voice definitions (DRY — reused across providers) ────────────────────── | COMMENT |
| MEDIUM | open-sse/config/ttsModels.js | 51 | // ── TTS Config (config-driven, single source of truth) ───────────────────── | COMMENT |
| MEDIUM | open-sse/config/ttsModels.js | 135 | // ── Helper: get voices for a specific model ──────────────────────────────── | COMMENT |
| MEDIUM | open-sse/config/ttsModels.js | 142 | // ── Build flat entries for PROVIDER_MODELS backward compat ───────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/REGISTRY_TEMPLATE.js | 17 | // ── identity ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/REGISTRY_TEMPLATE.js | 24 | // ── auth hints (only when relevant) ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/REGISTRY_TEMPLATE.js | 30 | // ── UI display ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/REGISTRY_TEMPLATE.js | 43 | // ── transport (HTTP runtime) → PROVIDERS[id] ───────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/REGISTRY_TEMPLATE.js | 60 | // ── oauth flow → PROVIDER_OAUTH[id] (omit for pure API-key) ─────────────── | COMMENT |
| MEDIUM | open-sse/providers/REGISTRY_TEMPLATE.js | 76 | // ── media (non-LLM services) → PROVIDER_MEDIA[id] ──────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/REGISTRY_TEMPLATE.js | 87 | // ── models (omit = no key; [] = explicit empty) ────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/REGISTRY_TEMPLATE.js | 94 | // ── optional flags ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 22 | // ── HOW TO ADD / UPDATE A MODEL ────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 340 | // ── Claude (4.6+ = adaptive thinking; older/haiku = budget) ────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 368 | // ── OpenAI GPT-6.x (vision + thinking + web search) ────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 377 | // ── OpenAI GPT-5.x (vision + thinking + web search) ────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 395 | // ── OpenAI o-series (reasoning, vision) ────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 401 | // ── Grok (vision + Live Search) ────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 425 | // ── Kimi (enabled→reasoning_effort; K2.7-code cannot disable) ───── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 463 | // ── MiniMax (M3 = adaptive; M2.x cannot disable) ───────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/capabilities.js | 476 | // ── Llama (4 = vision/1M; 3.x = text-only/128K) ────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/capabilities.js | 480 | // ── Mistral (Large 3 = vision/256K; codestral text) ────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/capabilities.js | 485 | // ── Cohere (Command A Vision = vision; others text) ────────────── | COMMENT |
| MEDIUM⚡ | open-sse/providers/capabilities.js | 489 | // ── Perplexity (web search native) ─────────────────────────────── | COMMENT |
| MEDIUM | open-sse/providers/capabilities.js | 504 | // ── Others ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/utils/proxyFetch.js | 8 | // ─── TLS fingerprinting via got-scraping (browser-like JA3) ─────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 28 | // ─── Binary discovery ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 66 | // ─── ACP JSON-RPC helper ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 74 | // ─── Client-tools → MCP bridge ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 250 | // ─── Multi-turn message → single prompt builder ───────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 303 | // ─── DevinCliExecutor ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 453 | // ── JSON-RPC state machine ────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 597 | // ── stdout reader (NDJSON) ────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 616 | // ── Initialize response ─────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 631 | // ── session/new response → get sessionId ────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 650 | // ── session/prompt response (ack / final result) ──────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 708 | // ── Streaming notifications (session/update) ────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 765 | // ── Error responses ─────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 789 | // ── Send initialize ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/devin-cli.js | 825 | // ─── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 25 | // ─── Model alias map (catalog name → Windsurf wire name) ───────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 27 | // ── Cognition SWE ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 32 | // ── Claude Opus 4.7 — effort-tiered ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 39 | // ── Claude Opus/Sonnet 4.6 ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 46 | // ── Claude 4.5 ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 52 | // ── GPT-5.5 ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 65 | // ── GPT-5.4 ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 81 | // ── GPT-5.3-Codex ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 91 | // ── GPT-5.2 ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 98 | // ── GPT-5 ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 100 | // ── GPT-4.1 / 4o ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 104 | // ── Gemini ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | open-sse/executors/windsurf.js | 114 | // ── Others ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 125 | // ─── Minimal protobuf encoder ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 167 | // ─── Protobuf message builders ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 207 | // ─── gRPC-web framing ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 218 | // ─── Protobuf response decoder ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 350 | // ─── OpenAI messages → Windsurf wire ───────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/executors/windsurf.js | 371 | // ─── WindsurfExecutor ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | open-sse/handlers/ttsCore.js | 14 | // ── Response Formatter (DRY) ─────────────────────────────────── | COMMENT |
| 133 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | custom-server.js | 18 | function startBackgroundTokenRefreshFromCustomServer() { | CODE |
| LOW | open-sse/config/kiroConstants.js | 63 | export function applyKiroThinkingOverride(body, override) { | CODE |
| LOW | open-sse/config/kiroConstants.js | 147 | export function resolveKiroThinkingBudget(body, headers, model) { | CODE |
| LOW | open-sse/config/kiroConstants.js | 203 | function extractKiroGptEffortLevel(body) { | CODE |
| LOW | open-sse/config/kiroConstants.js | 218 | export function buildKiroAdditionalModelRequestFields(body, effortPath = "output_config", model) { | CODE |
| LOW | open-sse/config/kiroConstants.js | 253 | export function supportsKiroAdditionalModelRequestFields(model) { | CODE |
| LOW | open-sse/config/kiroConstants.js | 262 | export function buildKiroAdditionalModelRequestFieldsForModel(body, model) { | CODE |
| LOW | open-sse/config/kiroConstants.js | 368 | export function buildThinkingSystemPrefix(budget = KIRO_THINKING_BUDGET_DEFAULT) { | CODE |
| LOW | open-sse/config/providers.js | 16 | export function resolveXiaomiTokenplanBaseUrl(credentials) { | CODE |
| LOW | open-sse/config/grokCli.js | 10 | export function supportsGrokCliReasoningEffort(model) { | CODE |
| LOW | open-sse/transformer/responsesTransformer.js | 54 | export function createResponsesApiTransformStream(logger = null) { | CODE |
| LOW | open-sse/transformer/streamToJsonConverter.js | 49 | export async function convertResponsesStreamToJson(stream) { | CODE |
| LOW | open-sse/providers/capabilities.js | 80 | export function capabilitiesFromServiceKind(kind) { | CODE |
| LOW | open-sse/providers/capabilities.js | 531 | export function aggregateComboCapabilities(comboModels, comboLookup = null, resolveCaps = null, _depth = 0) { | CODE |
| LOW | open-sse/utils/streamHandler.js | 102 | export function createDisconnectAwareStream(transformStream, streamController, onAbortTerminal = null) { | CODE |
| LOW | open-sse/utils/opencodeFingerprint.js | 44 | export function concealFingerprintToolNames(tools) { | CODE |
| LOW | open-sse/utils/opencodeFingerprint.js | 82 | export function appendMissingFingerprintTools(tools, flat) { | CODE |
| LOW | open-sse/utils/claudeCloaking.js | 33 | export function extractClaudeSessionIdFromUserId(userId) { | CODE |
| LOW | open-sse/utils/codexToolSchema.js | 78 | export function stripCodexUnsupportedPatterns(schema, stats = { removed: 0 }) { | CODE |
| LOW | open-sse/utils/stream.js | 538 | export function createSSETransformStreamWithLogger(targetFormat, sourceFormat, provider = null, reqLogger = null, toolNa | CODE |
| LOW | open-sse/utils/stream.js | 556 | export function createPassthroughStreamWithLogger(provider = null, reqLogger = null, model = null, connectionId = null, | CODE |
| LOW | open-sse/utils/bypassHandler.js | 128 | function createNonStreamingResponse(sourceFormat, model, text) { | CODE |
| LOW | open-sse/utils/bypassHandler.js | 279 | function createOpenAIStreamingChunks(completeResponse) { | CODE |
| LOW | open-sse/utils/cursorProtobuf.js | 1093 | export function encodeMcpResultToolNotFound(name) { | CODE |
| LOW | open-sse/utils/proxyFetch.js | 217 | function resolveConnectionProxyUrl(targetUrl, proxyOptions) { | CODE |
| LOW⚡ | open-sse/utils/responsesStreamHelpers.js | 13 | export function getOpenAIResponsesEventName(eventName, chunk) { | CODE |
| LOW⚡ | open-sse/utils/responsesStreamHelpers.js | 19 | export function isOpenAIResponsesTerminalEvent(eventName, chunk) { | CODE |
| LOW⚡ | open-sse/utils/responsesStreamHelpers.js | 29 | export function buildAbortedResponsesTerminalBytes() { | CODE |
| LOW⚡ | open-sse/utils/responsesStreamHelpers.js | 34 | export function formatIncompleteOpenAIResponsesStreamFailure() { | CODE |
| LOW | open-sse/utils/sessionManager.js | 131 | function extractAntigravitySession(body) { | CODE |
| LOW | open-sse/utils/kiroSessionReplay.js | 134 | export function clearKiroSessionReplayStore() { | CODE |
| LOW | open-sse/shared/mimoAccount.js | 75 | async function readDesktopAccountCookies() { | CODE |
| LOW | open-sse/shared/mimoAccount.js | 287 | export function invalidateMimoAccountCookieCache() { | CODE |
| LOW | open-sse/shared/zedAuth.js | 60 | export function encodeZedPrivateKeyVerifier(privateKeyPem) { | CODE |
| LOW | open-sse/shared/zedAuth.js | 64 | export function decodeZedPrivateKeyVerifier(verifier) { | CODE |
| LOW | open-sse/shared/zedAuth.js | 214 | export async function fetchZedAuthenticatedUser(credentials, options = {}) { | CODE |
| LOW | open-sse/shared/clineAuth.js | 19 | export function getClineAuthorizationHeader(token) { | CODE |
| LOW | open-sse/shared/qoder/contextTier.js | 76 | export function estimateQoderPromptTokens({ system, messages, tools } = {}) { | CODE |
| LOW | open-sse/shared/qoder/attachments.js | 67 | function extractUrlFromUploadResponse(json) { | CODE |
| LOW | open-sse/shared/qoder/attachments.js | 287 | export async function rewriteQoderMessageAttachments(messages, { | CODE |
| LOW | open-sse/translator/formats/claude.js | 203 | function hasForeignServerToolUseId(block) { | CODE |
| LOW | open-sse/translator/formats/claude.js | 215 | export function normalizeClaudePassthrough(body, model = "") { | CODE |
| LOW | open-sse/translator/formats/gemini.js | 55 | export function convertOpenAIContentToParts(content) { | CODE |
| LOW | open-sse/translator/formats/gemini.js | 147 | function removeUnsupportedKeywords(obj, keywords) { | CODE |
| LOW | open-sse/translator/formats/gemini.js | 187 | function convertEnumValuesToStrings(obj) { | CODE |
| LOW | open-sse/translator/formats/gemini.js | 359 | export function cleanJSONSchemaForAntigravity(schema) { | CODE |
| LOW | open-sse/translator/formats/gemini.js | 457 | export function sanitizeFunctionResponsePayload(value) { | CODE |
| LOW | open-sse/translator/formats/gemini.js | 468 | function sanitizeFunctionResponsePart(part) { | CODE |
| LOW | open-sse/translator/formats/responsesApi.js | 84 | export function convertResponsesApiFormat(body) { | CODE |
| LOW | open-sse/translator/response/openai-to-antigravity.js | 9 | export function openaiToAntigravityResponse(chunk, state) { | CODE |
| LOW | open-sse/translator/response/openai-responses.js | 50 | export function openaiToOpenAIResponsesResponse(chunk, state) { | CODE |
| LOW | open-sse/translator/response/openai-responses.js | 447 | function recordCompletedOutputItem(state, outputIndex, item) { | CODE |
| LOW | open-sse/translator/response/openai-responses.js | 453 | function collectCompletedOutputItems(state) { | CODE |
| LOW | open-sse/translator/response/openai-responses.js | 510 | export function openaiResponsesToOpenAIResponse(chunk, state) { | CODE |
| LOW | open-sse/translator/response/commandcode-to-openai.js | 52 | export function commandCodeToOpenAIResponse(chunk, state) { | CODE |
| LOW | open-sse/translator/request/claude-to-kiro.js | 45 | function convertClaudeMessagesToKiro(messages, model) { | CODE |
| LOW | open-sse/translator/request/openai-to-gemini.js | 27 | function sanitizeGeminiFunctionName(name) { | CODE |
| LOW | open-sse/translator/request/openai-to-gemini.js | 56 | function createToolCallIdUniquifier() { | CODE |
| LOW | open-sse/translator/request/openai-to-gemini.js | 377 | function wrapInCloudCodeEnvelopeForClaude(model, claudeRequest, credentials = null, signature = DEFAULT_THINKING_AG_SIGN | CODE |
| LOW | open-sse/translator/request/openai-to-gemini.js | 516 | export function openaiToAntigravityRequest(model, body, stream, credentials = null) { | CODE |
| 180 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | open-sse/translator/index.js | 109 | // Step 1: source -> openai (if source is not openai) | COMMENT |
| LOW⚡ | open-sse/translator/index.js | 119 | // Step 2: openai -> target (if target is not openai) | COMMENT |
| LOW | open-sse/translator/index.js | 205 | // Step 1: target -> openai (if target is not openai) | COMMENT |
| LOW | open-sse/translator/index.js | 218 | // Step 2: openai -> source (if source is not openai) | COMMENT |
| LOW | cli/scripts/build-cli.js | 158 | // Step 0: Sync version from app/cli/package.json to app/package.json | COMMENT |
| LOW | cli/scripts/build-cli.js | 171 | // Step 1: Build app with Next.js (workspace tracing root → traced node_modules in standalone). | COMMENT |
| LOW⚡ | cli/scripts/build-cli.js | 193 | // Step 2: Clean old app/cli/app if exists | COMMENT |
| LOW⚡ | cli/scripts/build-cli.js | 200 | // Step 3: Copy Next.js standalone build to app/cli/app. | COMMENT |
| LOW | cli/scripts/build-cli.js | 260 | // Step 4: Copy static files | COMMENT |
| LOW | cli/scripts/build-cli.js | 272 | // Step 5: Copy public folder if exists | COMMENT |
| LOW | cli/scripts/build-cli.js | 283 | // Step 6: Copy vendor-chunks (required for production) | COMMENT |
| LOW | cli/scripts/build-cli.js | 302 | // Step 7: Copy MITM server files (not bundled by Next.js standalone) | COMMENT |
| LOW | cli/scripts/build-cli.js | 324 | // Step 8: Build MITM server (config driven - see app/cli/scripts/buildMitm.js) | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 580 | // Step 1: Request device code | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 799 | // Step 1: Select type | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 809 | // Step 2: Inputs | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 819 | // Step 3: API type (OpenAI only) | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 482 | // Step 1: Get auth URL | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 504 | // Step 2: Show URL and instructions | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 527 | // Step 3: Parse callback URL and extract code | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 553 | // Step 4: Exchange code for tokens | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 604 | // Step 2: Show instructions | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 621 | // Step 3: Poll for token | COMMENT |
| LOW⚡ | gitbook/content/en/features/combos.md | 71 | ### Step 1: Open Dashboard | COMMENT |
| LOW⚡ | gitbook/content/en/features/combos.md | 78 | ### Step 2: Navigate to Combos | COMMENT |
| LOW⚡ | gitbook/content/en/features/combos.md | 84 | ### Step 3: Configure Combo | COMMENT |
| LOW | gitbook/content/en/features/combos.md | 105 | ### Step 4: Save | COMMENT |
| LOW | gitbook/content/en/features/combos.md | 112 | ### Step 5: Use in CLI | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 16 | ### Step 1: Clone Repository | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 23 | ### Step 2: Install Dependencies | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 29 | ### Step 3: Build Application | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 35 | ### Step 4: Configure Environment Variables | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 56 | ### Step 5: Create Data Directory | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 63 | ### Step 6: Start Application | COMMENT |
| LOW⚡ | gitbook/content/en/deployment/cloud.md | 69 | ### Step 7: Setup PM2 for Production | COMMENT |
| LOW | gitbook/content/en/deployment/cloud.md | 217 | ### Step 1: Install Nginx | COMMENT |
| LOW | gitbook/content/en/deployment/cloud.md | 224 | ### Step 2: Configure Nginx | COMMENT |
| LOW | gitbook/content/en/deployment/cloud.md | 283 | ### Step 3: Enable Site | COMMENT |
| LOW | gitbook/content/en/deployment/cloud.md | 296 | ### Step 4: Setup SSL with Let's Encrypt | COMMENT |
| LOW | src/app/api/oauth/iflow/cookie/route.js | 28 | // Step 1: GET API key info to get the name | COMMENT |
| LOW | src/app/api/oauth/iflow/cookie/route.js | 65 | // Step 2: POST to refresh API key | COMMENT |
| LOW | src/app/api/cli-tools/cowork-mcp-tools/route.js | 20 | // Step 1: initialize | COMMENT |
| LOW⚡ | src/app/api/cli-tools/cowork-mcp-tools/route.js | 42 | // Step 2: notifications/initialized (required by spec before tools/list) | COMMENT |
| LOW⚡ | src/app/api/cli-tools/cowork-mcp-tools/route.js | 50 | // Step 3: tools/list | COMMENT |
| LOW | src/app/(dashboard)/dashboard/translator/page.js | 67 | // Step 1: detect provider/format from model field | COMMENT |
| LOW | src/mitm/manager.js | 534 | // Step 1: Generate Root CA if missing or expired | COMMENT |
| LOW | src/mitm/manager.js | 574 | // Step 2: Spawn server (Root CA already installed in Step 1.5) | COMMENT |
| LOW | src/lib/oauth/providers/kiro.js | 18 | // Step 1: Register client with AWS SSO OIDC | COMMENT |
| LOW | src/lib/oauth/providers/kiro.js | 41 | // Step 2: Request device authorization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | open-sse/config/awsConstants.js | 21 | // request cannot be signed with a key that dies mid-stream. | COMMENT |
| LOW | open-sse/config/awsConstants.js | 41 | // and a plain `[NAME]` section in ~/.aws/credentials may also contain spaces. `/` is left out: | COMMENT |
| LOW | open-sse/providers/REGISTRY_TEMPLATE.js | 41 | }, | COMMENT |
| LOW | open-sse/providers/REGISTRY_TEMPLATE.js | 61 | // oauth: { | COMMENT |
| LOW | open-sse/providers/REGISTRY_TEMPLATE.js | 81 | // embeddingConfig: { baseUrl: "...", authType: "apikey", authHeader: "bearer", models: [{ id: "emb-1", name: "Emb", | COMMENT |
| LOW | open-sse/providers/thinkingLevels.js | 61 | { pattern: "*deepseek-v4.*", levels: ["none", "low", "medium", "high", "xhigh", "max"] }, | COMMENT |
| LOW | open-sse/providers/capabilities.js | 1 | // Model capabilities — what each model can read/do beyond plain text. | COMMENT |
| LOW | open-sse/providers/capabilities.js | 21 | // | COMMENT |
| LOW | open-sse/providers/capabilities.js | 141 | "glm-4.5v": { vision: true, videoInput: true, reasoning: true, thinkingFormat: "zai", contextWindow: 64000, m | COMMENT |
| LOW | open-sse/providers/capabilities.js | 261 | "glm-5.0": { reasoning: true, thinkingFormat: "openai", contextWindow: 200000, maxOutput: 48000 }, | COMMENT |
| LOW | open-sse/providers/capabilities.js | 301 | }, | COMMENT |
| LOW | open-sse/providers/registry/selfhosted-tts.js | 1 | // Self-hosted, OpenAI-compatible text-to-speech (Kokoro-FastAPI, openedai-speech, | COMMENT |
| LOW | open-sse/providers/registry/zed.js | 41 | }, | COMMENT |
| LOW | open-sse/providers/registry/selfhosted-embedding.js | 1 | // Self-hosted, OpenAI-compatible embeddings (llama.cpp / llama-server, vLLM, | COMMENT |
| LOW | open-sse/providers/registry/selfhosted-stt.js | 1 | // Self-hosted, OpenAI-compatible speech-to-text (whisper.cpp, faster-whisper, | COMMENT |
| LOW | open-sse/providers/registry/codebuddy-cn.js | 41 | // Quota endpoint differs from the chat gateway: POST returns nested Tencent | COMMENT |
| LOW | open-sse/providers/registry/deepseek.js | 21 | category: "apikey", | COMMENT |
| LOW | open-sse/utils/codexToolSchema.js | 1 | // Codex-specific tool JSON Schema compatibility. | COMMENT |
| LOW | open-sse/utils/proxyFetch.js | 381 | // If strictProxy is enabled, fail hard instead of falling back to direct | COMMENT |
| LOW | open-sse/utils/streamHelpers.js | 121 | if (sourceFormat === FORMATS.CLAUDE && data && data.type) { | COMMENT |
| LOW | open-sse/utils/requestLogger.js | 81 | // for (const key of Object.keys(masked)) { | COMMENT |
| LOW | open-sse/translator/formats/claude.js | 501 | if (modelCaps.forcedToolChoice === false && (body.tool_choice?.type === "any" || body.tool_choice?.type === "tool")) { | COMMENT |
| LOW | open-sse/translator/request/openai-to-kiro.js | 321 | COMMENT | |
| LOW | open-sse/translator/concerns/paramSupport.js | 1 | import { getCapabilitiesForModel } from "../../providers/capabilities.js"; | COMMENT |
| LOW | open-sse/executors/devin-cli.js | 401 | // inject WINDSURF_API_KEY: this provider is noAuth, and a bogus/leaked key | COMMENT |
| LOW | open-sse/executors/trae.js | 1 | import { BaseExecutor } from "./base.js"; | COMMENT |
| LOW | open-sse/executors/zed.js | 1 | // ZedHostedExecutor — routes requests to Zed's hosted LLM aggregator | COMMENT |
| LOW | open-sse/executors/kiro.js | 281 | * The Kiro IDE gateway (runtime.*.kiro.dev) expects Kiro OIDC/social tokens | COMMENT |
| LOW | open-sse/handlers/geminiLiveStt.js | 1 | import { Buffer } from "node:buffer"; | COMMENT |
| LOW | open-sse/handlers/chatCore.js | 81 | COMMENT | |
| LOW | open-sse/handlers/videoProviders/vertex.js | 1 | // Vertex AI (Veo) video jobs. | COMMENT |
| LOW | …sse/handlers/embeddingProviders/selfhostedEmbedding.js | 1 | // Self-hosted embeddings — like openaiCompatNode, but the baseUrl is REQUIRED. | COMMENT |
| LOW | open-sse/handlers/imageProviders/huggingface.js | 1 | // HuggingFace Inference Providers router — returns binary image | COMMENT |
| LOW | open-sse/handlers/ttsProviders/selfhostedTts.js | 1 | // Self-hosted OpenAI-compatible TTS — POST {baseUrl}/v1/audio/speech. | COMMENT |
| LOW | open-sse/handlers/ttsProviders/selfhostedTts.js | 21 | // would 404 with nothing pointing at the cause. | COMMENT |
| LOW | tests/unit/claude-thinking-stream-boundaries.test.js | 1 | // Thinking/answer boundaries across the OpenAI pivot. | COMMENT |
| LOW | tests/unit/strict-proxy-enforcement.test.js | 1 | // #4333: "Strict Proxy" did not hold. With a strict pool assigned and every | COMMENT |
| LOW | tests/unit/cline-free-models-envelope.test.js | 1 | // Cline free models (z-ai/glm-5.3-flash, deepseek-v4-flash) wrap non-stream | COMMENT |
| LOW | tests/unit/elevenlabs-stt.test.js | 1 | // ElevenLabs Scribe STT transport contract. | COMMENT |
| LOW | tests/unit/gemini-live-stt.test.js | 1 | // Gemini Live (realtime bidi) STT transport contract. | COMMENT |
| LOW | tests/unit/opencode-go-transport-routing.test.js | 1 | // Offline routing matrix for opencode-go models. | COMMENT |
| LOW | tests/unit/zed-native-auth.test.js | 1 | // Acceptance suite for the Zed native-app auth fix. | COMMENT |
| LOW | tests/translator/openai-thinking-display.test.js | 1 | // OpenAI-format clients asking for reasoning get Claude's thinking text back. | COMMENT |
| LOW | …tor/real/opencode-go-thinking-placeholder.real.test.js | 1 | // REAL: opencode.go /messages thinking-placeholder acceptance + real-thinking pass-back. | COMMENT |
| LOW | …tor/real/opencode-go-thinking-passthrough.real.test.js | 1 | // REAL multi-turn thinking pass-back matrix for opencode-go DeepSeek. | COMMENT |
| LOW | tests/translator/real/opencode-go-deepseek.real.test.js | 1 | // REAL endpoint matrix for opencode-go DeepSeek models. | COMMENT |
| LOW | …anslator/real/opencode-zen-free-responses.real.test.js | 1 | // REAL: zero-cost responses-path smoke on OpenCode Zen's free tier. | COMMENT |
| LOW | …anslator/real/deepseek-official-responses.real.test.js | 1 | // REAL matrix: DeepSeek OFFICIAL Responses API — direct behavior vs 9router translation. | COMMENT |
| LOW | cli/hooks/trayRuntime.js | 1 | // Lazy install systray2 for macOS/Linux into USER_DATA_DIR/runtime/node_modules. | COMMENT |
| LOW | cli/scripts/buildTrayArm64.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | src/sse/services/keyAccess.js | 1 | // Per-API-key access control for the /v1/* inference keys. | COMMENT |
| LOW | src/app/api/auth/login/route.js | 61 | COMMENT | |
| LOW | src/app/api/cli-tools/hermes-settings/hermesYaml.js | 1 | // Pure text helpers for editing Hermes `config.yaml` / `.env` in place. | COMMENT |
| LOW | src/shared/constants/cliTools.js | 61 | { id: "simple-task", name: "Qwen3 Coder Next", alias: "simple-task" }, | COMMENT |
| LOW | src/shared/constants/cliTools.js | 581 | configType: "custom", | COMMENT |
| LOW | src/shared/utils/ssrfGuard.js | 1 | // SSRF guard: block internal/private/metadata targets for server-side fetch. | COMMENT |
| LOW | src/shared/utils/bulkAdd.js | 1 | // Bulk-add API-key planner. | COMMENT |
| LOW | src/lib/oauth/constants/oauth.js | 121 | export const CODEBUDDY_INTL_CONFIG = { ...PROVIDER_OAUTH["codebuddy-intl"] }; | COMMENT |
| LOW | src/lib/oauth/providers/glm.js | 1 | import crypto from "crypto"; | COMMENT |
| LOW | src/lib/oauth/providers/minimax-code-shared.js | 1 | // MiniMax Code (mcode) OAuth device flow — shared factory for the two site | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | open-sse/translator/index.js | 109 | // Step 1: source -> openai (if source is not openai) | COMMENT |
| LOW⚡ | open-sse/translator/index.js | 119 | // Step 2: openai -> target (if target is not openai) | COMMENT |
| LOW | open-sse/translator/index.js | 205 | // Step 1: target -> openai (if target is not openai) | COMMENT |
| LOW | open-sse/translator/index.js | 218 | // Step 2: openai -> source (if source is not openai) | COMMENT |
| LOW | cli/scripts/build-cli.js | 158 | // Step 0: Sync version from app/cli/package.json to app/package.json | COMMENT |
| LOW | cli/scripts/build-cli.js | 171 | // Step 1: Build app with Next.js (workspace tracing root → traced node_modules in standalone). | COMMENT |
| LOW⚡ | cli/scripts/build-cli.js | 193 | // Step 2: Clean old app/cli/app if exists | COMMENT |
| LOW⚡ | cli/scripts/build-cli.js | 200 | // Step 3: Copy Next.js standalone build to app/cli/app. | COMMENT |
| LOW | cli/scripts/build-cli.js | 260 | // Step 4: Copy static files | COMMENT |
| LOW | cli/scripts/build-cli.js | 272 | // Step 5: Copy public folder if exists | COMMENT |
| LOW | cli/scripts/build-cli.js | 283 | // Step 6: Copy vendor-chunks (required for production) | COMMENT |
| LOW | cli/scripts/build-cli.js | 302 | // Step 7: Copy MITM server files (not bundled by Next.js standalone) | COMMENT |
| LOW | cli/scripts/build-cli.js | 324 | // Step 8: Build MITM server (config driven - see app/cli/scripts/buildMitm.js) | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 580 | // Step 1: Request device code | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 799 | // Step 1: Select type | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 809 | // Step 2: Inputs | COMMENT |
| LOW⚡ | cli/src/cli/menus/providers.js | 819 | // Step 3: API type (OpenAI only) | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 482 | // Step 1: Get auth URL | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 504 | // Step 2: Show URL and instructions | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 527 | // Step 3: Parse callback URL and extract code | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 553 | // Step 4: Exchange code for tokens | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 604 | // Step 2: Show instructions | COMMENT |
| LOW | cli/src/cli/menus/providers.js | 621 | // Step 3: Poll for token | COMMENT |
| LOW | src/app/api/oauth/iflow/cookie/route.js | 28 | // Step 1: GET API key info to get the name | COMMENT |
| LOW | src/app/api/oauth/iflow/cookie/route.js | 65 | // Step 2: POST to refresh API key | COMMENT |
| LOW | src/app/api/cli-tools/cowork-mcp-tools/route.js | 20 | // Step 1: initialize | COMMENT |
| LOW⚡ | src/app/api/cli-tools/cowork-mcp-tools/route.js | 42 | // Step 2: notifications/initialized (required by spec before tools/list) | COMMENT |
| LOW⚡ | src/app/api/cli-tools/cowork-mcp-tools/route.js | 50 | // Step 3: tools/list | COMMENT |
| LOW | src/app/(dashboard)/dashboard/translator/page.js | 67 | // Step 1: detect provider/format from model field | COMMENT |
| LOW | src/mitm/manager.js | 534 | // Step 1: Generate Root CA if missing or expired | COMMENT |
| LOW | src/mitm/manager.js | 574 | // Step 2: Spawn server (Root CA already installed in Step 1.5) | COMMENT |
| LOW | src/lib/oauth/providers/kiro.js | 18 | // Step 1: Register client with AWS SSO OIDC | COMMENT |
| LOW | src/lib/oauth/providers/kiro.js | 41 | // Step 2: Request device authorization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/kiro-external-idp.test.js | 6 | const TEST_EMAIL = "user@example.com"; | CODE |
| LOW | tests/unit/aws-credentials.test.js | 431 | for (const profile of ["default", "my-sso-profile", "acct_1.prod", "sso:role", "user@example.com", "team+ops", "50%" | CODE |
| LOW | tests/unit/grok-cli-models.test.js | 58 | providerSpecificData: { email: "user@example.com" }, | CODE |
| LOW | tests/unit/grok-cli-usage.test.js | 56 | email: "user@example.com", | CODE |
| LOW | tests/unit/grok-cli-usage.test.js | 252 | email: "user@example.com", | CODE |
| LOW⚡ | tests/unit/saml.test.js | 100 | email: "user@example.com", | CODE |
| LOW⚡ | tests/unit/saml.test.js | 101 | displayName: "Jane Doe", | CODE |
| LOW⚡ | tests/unit/saml.test.js | 108 | expect(pickSamlEmail(mockProfile, {})).toBe("user@example.com"); | CODE |
| LOW⚡ | tests/unit/saml.test.js | 121 | expect(pickSamlDisplayName(mockProfile, {})).toBe("Jane Doe"); | CODE |
| LOW⚡ | tests/unit/saml.test.js | 126 | pickSamlDisplayName({ email: "user@example.com" }, {}) | CODE |
| LOW⚡ | tests/unit/saml.test.js | 127 | ).toBe("user@example.com"); | CODE |
| LOW | …oard)/dashboard/providers/[id]/BulkImportCodexModal.js | 13 | "email": "user@example.com" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 20 | - **Capabilities**: mark GLM-5.3 as unable to disable thinking (#4656); correct GLM-5.2/5.3 context window to 1M (#4544) | CODE |
| MEDIUM | open-sse/providers/models/schema.js | 6 | // touched, so word/suffix hyphens stay intact ("-thinking", "-agentic", "qwen3-coder-next"). | COMMENT |
| MEDIUM | tests/__baseline__/baseline-results.json | 1 | {"numTotalTestSuites":209,"numPassedTestSuites":192,"numFailedTestSuites":17,"numPendingTestSuites":0,"numTotalTests":67 | CODE |
| MEDIUM | tests/__baseline__/current.json | 1 | {"numTotalTestSuites":276,"numPassedTestSuites":259,"numFailedTestSuites":17,"numPendingTestSuites":0,"numTotalTests":84 | CODE |
| MEDIUM | src/app/api/v1/models/route.js | 473 | // -thinking/-agentic variants per account). On failure, fall back to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gitbook/content/vi/integration/other-tools.md | 288 | print(f"Error: {e}") | CODE |
| MEDIUM | gitbook/content/ja/integration/other-tools.md | 288 | print(f"Error: {e}") | CODE |
| MEDIUM | gitbook/content/zh-CN/integration/other-tools.md | 288 | print(f"Error: {e}") | CODE |
| MEDIUM | gitbook/content/es/integration/other-tools.md | 288 | print(f"Error: {e}") | CODE |
| MEDIUM | gitbook/content/en/integration/other-tools.md | 288 | print(f"Error: {e}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …rd)/dashboard/cli-tools/components/OpenCodeToolCard.js | 62 | setSubagentModel(status.config.agent.explorer.model.replace("9router/", "")); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | open-sse/config/codexInstructions.js | 30 | ## Codex CLI harness, sandboxing, and approvals | COMMENT |