Open-source, high-performance AI gateway that works as your LLM gateway, MCP gateway and agent gateway. One OpenAI-compatible API for 10,000+ models, with failover, load balancing, semantic caching, virtual keys, budgets and MCP Code Mode. Works with any SDK or agent and adds under 200µs of overhead at 5k RPS.
This report summarizes scanner evidence for maximhq/bifrost, a Go project with 9,251 GitHub stars. SynthScan examined 1,941,917 lines of code across 4603 source files, recording 4518 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 3.3 (Low 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? 3386 finding(s).
Are imports declared and package/API names verified? 241 finding(s).
Are wrappers, guards, and repeated structures necessary? 1217 finding(s).
Which changes need focused human review? 4518 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 4518 distinct pattern matches across 22 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 | …aform/modules/bifrost/tests/root_validation.tftest.hcl | 141 | COMMENT | |
| LOW | terraform/modules/bifrost/aws/services/eks/main.tf | 1 | # ============================================================================= | COMMENT |
| LOW | ui/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | ui/app/oauth/consent/layout.tsx | 1 | import TempTokenScope from "@/components/tempTokenScope"; | COMMENT |
| LOW | …/components/load-balancer/loadBalancerSettingsView.tsx | 1 | // On OSS, the adaptive routing settings page shows the same enterprise upsell as the | COMMENT |
| LOW | …/_fallbacks/enterprise/lib/registrations/userPicker.ts | 1 | // OSS-build fallback for the enterprise user picker registration. | COMMENT |
| LOW | ui/app/_fallbacks/enterprise/lib/registrations/logs.ts | 1 | // OSS-build fallback for the Logs page registrations. | COMMENT |
| LOW | …p/_fallbacks/enterprise/lib/registrations/dashboard.ts | 1 | // OSS-build fallback for the dashboard registrations. | COMMENT |
| LOW | …_fallbacks/enterprise/lib/registrations/liveNotices.ts | 1 | // OSS-build fallback for the enterprise live-notice registrations (cluster | COMMENT |
| LOW | …cks/enterprise/lib/registrations/businessUnitPicker.ts | 1 | // OSS-build fallback for the enterprise business unit picker registration. | COMMENT |
| LOW | …backs/enterprise/lib/registrations/modelLimitScopes.ts | 1 | // OSS-build fallback for the enterprise scope registrations. | COMMENT |
| LOW | ui/app/workspace/complexity-router/page.tsx | 281 | // An empty cache means the same thing. It lives only in the gateway's memory | COMMENT |
| LOW | ui/app/workspace/complexity-router/page.tsx | 401 | // | COMMENT |
| LOW | ui/app/workspace/complexity-router/views/sections.tsx | 41 | COMMENT | |
| LOW | …space/complexity-router/views/embeddingConfigSheet.tsx | 61 | canSave: boolean; | COMMENT |
| LOW | ui/app/workspace/config/views/securityView.tsx | 81 | // save below included) carries it, and the server accepts it as first-admin proof, | COMMENT |
| LOW | ui/app/workspace/config/views/warpView.tsx | 161 | // embedding space it ran under, so a space change cannot leave it on screen | COMMENT |
| LOW | ui/app/workspace/config/views/warpView.tsx | 221 | // hide the running job or its cancel action after a reload - the status | COMMENT |
| LOW | ui/app/workspace/config/views/warpView.tsx | 261 | // window would re-tag the job with the new space, so its terminal status | COMMENT |
| LOW | ui/app/workspace/config/views/warpView.tsx | 281 | // ran under a space that has since been saved over: the id-pinned poll | COMMENT |
| LOW | ui/app/workspace/config/views/warpView.tsx | 361 | // The date pickers default to "last 7 days" at mount time, which no longer | COMMENT |
| LOW | ui/app/workspace/config/views/warpView.tsx | 1181 | // The default row keeps the ids it had as the page's only model. | COMMENT |
| LOW | …kspace/oauth-grants/views/oauthGrantsFilterSidebar.tsx | 421 | // UsersFilterSection – restricts grants to a set of users, mirroring | COMMENT |
| LOW | …app/workspace/dashboard/components/charts/barShape.tsx | 21 | export function rankingBarShape(props: BarShapeProps) { | COMMENT |
| LOW | …/app/workspace/mcp-registry/views/oauth2Authorizer.tsx | 21 | // config's bootstrap status has been "authorized" since the client was | COMMENT |
| LOW | ui/app/workspace/mcp-registry/views/mcpClientSheet.tsx | 861 | ? undefined | COMMENT |
| LOW | ui/app/workspace/mcp-registry/views/mcpClientsTable.tsx | 1121 | const canReconnect = canReconnectMCPClient(c.config); | COMMENT |
| LOW | ui/app/workspace/mcp-sessions/auth/page.tsx | 1 | // Auth landing route for inline-401 URLs returned by the inference path. | COMMENT |
| LOW | ui/app/workspace/mcp-sessions/views/sessionsTable.tsx | 1 | // Base sessions table: renders token rows + pending flow rows + per-user | COMMENT |
| LOW | ui/app/workspace/virtual-keys/views/virtualKeySheet.tsx | 461 | // Only a resolved profile governs. "Managed by your access profile" is a claim about a | COMMENT |
| LOW | ui/components/headersForm.tsx | 1 | // Reusable form for the MCP per-user-headers flow. | COMMENT |
| LOW | ui/components/headersForm.tsx | 41 | // Submit handler. Required. | COMMENT |
| LOW | ui/components/tempTokenScope.tsx | 1 | // TempTokenScope wraps a page that authenticates via a short-lived temp token | COMMENT |
| LOW | ui/components/tempTokenScope.tsx | 21 | name: string; | COMMENT |
| LOW | ui/components/ui/icons.tsx | 1941 | <path d="M15.688 2.343a2.588 2.588 0 00-3.61 0l-9.626 9.44a.863.863 0 01-1.203 0 .823.823 0 010-1.18l9.626-9.44a4.313 | COMMENT |
| LOW | ui/components/entitySelectors/teamSelector.tsx | 1 | // Unified async team selector — the single way to pick a governance team | COMMENT |
| LOW | ui/components/entitySelectors/entitySelector.tsx | 1 | // Shared shell behind every async entity selector (virtual keys, users, | COMMENT |
| LOW | ui/lib/types/mcp.ts | 161 | } | COMMENT |
| LOW | ui/lib/types/mcp.ts | 181 | // SSO login flow always requests a token self-audienced to itself, so a | COMMENT |
| LOW | ui/lib/types/mcp.ts | 261 | oauth_resource?: string; | COMMENT |
| LOW | ui/lib/types/mcp.ts | 301 | virtual_key_name: string; | COMMENT |
| LOW | ui/lib/types/mcp.ts | 421 | per_user_header_keys?: string[]; | COMMENT |
| LOW | ui/lib/types/schemas.ts | 381 | // | COMMENT |
| LOW | ui/lib/types/mcpPerUserHeaders.ts | 1 | // Types for the MCP per-user headers credential flow. | COMMENT |
| LOW | ui/lib/types/mcpSessions.ts | 1 | // Types for the MCP Auth Sessions tab + auth landing flow. | COMMENT |
| LOW | ui/lib/types/mcpSessions.ts | 61 | created_at: string; | COMMENT |
| LOW | ui/lib/registries/modelLimitScopes.tsx | 1 | // Runtime registry of model_config scopes available to the UI. | COMMENT |
| LOW | ui/lib/registries/modelLimitScopes.tsx | 41 | PickerComponent?: ComponentType<ScopePickerProps>; | COMMENT |
| LOW | ui/lib/registries/modelLimitScopes.tsx | 61 | // displayed, without colliding with "user" as a distinct filterable option. | COMMENT |
| LOW | ui/lib/registries/businessUnitPicker.tsx | 1 | // Runtime registry for the governance business unit picker. | COMMENT |
| LOW | ui/lib/registries/userPicker.tsx | 1 | // Runtime registry for the governance user picker. | COMMENT |
| LOW | ui/lib/constants/config.ts | 141 | // on the red/amber/blue states. | COMMENT |
| LOW | ui/lib/utils/decisionModelProviders.ts | 21 | // so it is still recognised here. Custom providers have no logo of their own: the name is whatever | COMMENT |
| LOW | ui/lib/store/apis/setupToken.ts | 1 | // OSS setup lock helpers. | COMMENT |
| LOW | ui/lib/store/apis/providersApi.ts | 401 | }), | COMMENT |
| LOW | ui/lib/store/apis/tempToken.ts | 1 | // Module-level state for the temp-token scope wrapper. | COMMENT |
| LOW | cmd/e2eseed/seed/seed.go | 301 | "e2e_seed_team_tiggings": prefix + "-team-tiggings", | COMMENT |
| LOW | core/injectedtools.go | 841 | // returns the tool set the attempt should use. | COMMENT |
| LOW | core/encryptedreasoning.go | 21 | // write a replayed reasoning item's encrypted_content into. One Responses payload | COMMENT |
| LOW | core/encryptedreasoning.go | 41 | // before it ever attempts to decrypt, so its 400 quotes neither the JSON key nor an | COMMENT |
| 2015 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | terraform/modules/bifrost/variables.tf | 180 | # ----------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/bifrost/variables.tf | 183 | #----------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 34 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 36 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 50 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 52 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 72 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 74 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 101 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/main.tf | 103 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/main.tf | 153 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/main.tf | 155 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/main.tf | 164 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/main.tf | 166 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/services/aci/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/services/aci/main.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/services/aci/main.tf | 13 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/modules/bifrost/azure/services/aci/main.tf | 15 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 16 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 18 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 53 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 55 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 68 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 70 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 85 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 87 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 151 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 153 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 289 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 291 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 318 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 320 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 364 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/azure/services/aks/main.tf | 366 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/gcp_cloudrun.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/gcp_cloudrun.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | …raform/modules/bifrost/tests/config_merging.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | …raform/modules/bifrost/tests/config_merging.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/azure_aks.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/azure_aks.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/azure_aci.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/azure_aci.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/aws_shared.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/aws_shared.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/aws_eks.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/aws_eks.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/kubernetes.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/kubernetes.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/gcp_gke.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/gcp_gke.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/aws_ecs.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/aws_ecs.tftest.hcl | 3 | # ============================================================================= | COMMENT |
| MEDIUM | …aform/modules/bifrost/tests/root_validation.tftest.hcl | 1 | # ============================================================================= | COMMENT |
| MEDIUM | …aform/modules/bifrost/tests/root_validation.tftest.hcl | 7 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/setup/main.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/modules/bifrost/tests/setup/main.tf | 10 | # ============================================================================= | COMMENT |
| 578 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 93 | # Step 1: Initialize OpenAI client with Bifrost | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 99 | # Step 2: Send chat request | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 105 | # Step 3: Check for tool calls | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 109 | # Step 4: Execute tool via Bifrost | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 122 | # Step 5: Continue conversation with results | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 134 | // Step 1: Initialize OpenAI client with Bifrost | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 140 | // Step 2: Send chat request | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 148 | // Step 3: Check for tool calls | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 151 | // Step 4: Execute tool via Bifrost | COMMENT |
| LOW | ui/app/workspace/mcp-logs/views/emptyState.tsx | 165 | // Step 5: Continue conversation with results | COMMENT |
| LOW | core/bifrost_test.go | 2266 | // Step 1: isClosing() passes — queue is open. | COMMENT |
| LOW | core/bifrost_test.go | 2279 | // Step 2: enter the exact select guard used in production. | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2649 | // Step 2: atomically replace — new producers now get newPq | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2651 | // Step 4: signal old closing — stale producers will detect this | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2887 | // Step 2: expose newPq first so stale producers can re-route to it | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2891 | // Step 3: transfer buffered messages oldPq → newPq. | COMMENT |
| LOW | core/bifrost_test.go | 2907 | // Step 4: signal closing — producers holding a stale oldPq ref now | COMMENT |
| LOW⚡ | core/bifrost.go | 4270 | // Step 1: Load the ProviderQueue and verify provider exists | COMMENT |
| LOW⚡ | core/bifrost.go | 4277 | // Step 2: Signal closing. Blocks new producers (isClosing() returns true) and | COMMENT |
| LOW⚡ | core/bifrost.go | 4282 | // Step 3: Wait for all workers to finish in-flight requests and exit. | COMMENT |
| LOW⚡ | core/bifrost.go | 4301 | // Step 4: Remove the provider from the request queues. | COMMENT |
| LOW⚡ | core/bifrost.go | 4304 | // Step 5: Remove the provider from the wait groups. | COMMENT |
| LOW⚡ | core/bifrost.go | 4307 | // Step 6: Remove the provider from the providers slice. | COMMENT |
| LOW⚡ | core/bifrost.go | 4382 | // Step 1: Create provider instance before touching live routing state. If | COMMENT |
| LOW⚡ | core/bifrost.go | 4389 | // Step 2: Create new ProviderQueue and wait group with updated settings. | COMMENT |
| LOW⚡ | core/bifrost.go | 4397 | // Step 3: Atomically replace the provider in the providers slice before new | COMMENT |
| LOW⚡ | core/bifrost.go | 4513 | // Step 6: Register cleanup before signalling the old queue. Otherwise | COMMENT |
| LOW⚡ | core/bifrost.go | 4523 | // Step 7: Signal the old queue is closing. Stale producers that still hold a | COMMENT |
| LOW⚡ | core/bifrost.go | 4528 | // Step 8: Cleanup old workers asynchronously. Waiting here under the provider | COMMENT |
| LOW⚡ | core/bifrost.go | 8141 | // Step 2: derive per-side capture and strip flags. | COMMENT |
| LOW⚡ | core/bifrost.go | 8149 | // Step 3: write all internal signals explicitly (never touch the user override keys). | COMMENT |
| LOW | core/bifrost.go | 4440 | // Step 4: Publish the new queue/wait group and start new workers before old | COMMENT |
| LOW | core/bifrost.go | 4456 | // Step 5: Transfer buffered requests from the old queue to the new queue BEFORE | COMMENT |
| LOW | core/bifrost.go | 8117 | // Step 1: compute effective value for each flag (provider config ← per-request override). | COMMENT |
| LOW⚡ | core/providers/utils/models.go | 277 | // Step 1: resolve name — collect all alias matches (or the raw ID if none match). | COMMENT |
| LOW⚡ | core/providers/utils/models.go | 284 | // Step 2: allowlist check. | COMMENT |
| LOW | core/providers/utils/models.go | 300 | // Step 3: blacklist check — blacklist always wins regardless of allowlist or aliases. | COMMENT |
| LOW | core/providers/utils/utils_test.go | 358 | // Step 1: Parse the error (like ParseOpenAIError does) | COMMENT |
| LOW | core/providers/utils/utils_test.go | 371 | // Step 2: Enrich with request (like providers do) | COMMENT |
| LOW⚡ | core/providers/bedrock/bedrock_test.go | 2605 | // Step 1: BedrockConverseRequest → BifrostResponsesRequest | COMMENT |
| LOW⚡ | core/providers/bedrock/bedrock_test.go | 2613 | // Step 2: BifrostResponsesRequest → BedrockConverseRequest | COMMENT |
| LOW | core/providers/anthropic/serversidefallback_test.go | 134 | // Step 1: Anthropic -> Bifrost | COMMENT |
| LOW | core/providers/anthropic/serversidefallback_test.go | 155 | // Step 2: Bifrost -> Anthropic | COMMENT |
| LOW | core/providers/anthropic/websearch_test.go | 183 | // Step 1: output_item.added | COMMENT |
| LOW | core/providers/anthropic/websearch_test.go | 199 | // Step 2: FunctionCallArgumentsDelta events (should be skipped) | COMMENT |
| LOW | core/providers/anthropic/websearch_test.go | 211 | // Step 3: output_item.done with full accumulated arguments | COMMENT |
| LOW | core/providers/anthropic/compaction_test.go | 598 | // Step 1: Anthropic → Bifrost | COMMENT |
| LOW | core/providers/anthropic/compaction_test.go | 629 | // Step 2: Bifrost → Anthropic | COMMENT |
| LOW⚡ | core/providers/openai/realtime_test.go | 818 | // Step 1: Parse the client event (same path as wsrealtime.go). | COMMENT |
| LOW⚡ | core/providers/openai/realtime_test.go | 827 | // Step 2: Convert back to provider format. | COMMENT |
| LOW⚡ | core/providers/openai/realtime_test.go | 834 | // Step 3: Verify the output JSON contains the audio field with correct value. | COMMENT |
| LOW | core/internal/mcptests/codemode_files_test.go | 626 | // Step 1: List tool files (returns a tree structure as text) | COMMENT |
| LOW | core/internal/mcptests/codemode_files_test.go | 646 | // Step 2: Read a tool file using readToolFile | COMMENT |
| LOW | core/internal/mcptests/codemode_files_test.go | 666 | // Step 3: Execute code that uses the tools | COMMENT |
| LOW | core/internal/llmtests/transcription_stream.go | 71 | // Step 1: Generate TTS audio | COMMENT |
| LOW | core/internal/llmtests/transcription_stream.go | 138 | // Step 2: Test streaming transcription | COMMENT |
| LOW | core/internal/llmtests/transcription.go | 98 | // Step 1: Generate TTS audio | COMMENT |
| LOW | core/internal/llmtests/transcription.go | 164 | // Step 2: Transcribe the generated audio | COMMENT |
| LOW⚡ | core/internal/llmtests/provider_feature_support_test.go | 901 | // Step 1: Validate tools for provider | COMMENT |
| LOW⚡ | core/internal/llmtests/provider_feature_support_test.go | 911 | // Step 2: Convert bifrost request → anthropic request | COMMENT |
| 259 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ui/app/workspace/logs/views/logsVolumeChart.tsx | 274 | // This is more robust than exact timestamp matching | COMMENT |
| MEDIUM | core/providers/gemini/types.go | 933 | // Live API, if `store_context` bool is specified, Gemini will leverage it to automatically | COMMENT |
| MEDIUM | core/providers/openai/openai.go | 4173 | // Determine image index with robust tracking for interleaved chunks | COMMENT |
| MEDIUM | core/providers/openai/openai.go | 5909 | // Determine image index with robust tracking for interleaved chunks | COMMENT |
| MEDIUM | core/network/http.go | 744 | // RetryIfErr normally sees raw io.EOF; we match both to stay robust across versions. | COMMENT |
| MEDIUM | core/internal/llmtests/test_retry_conditions.go | 37 | // Check for textual content using the already robust GetResultContent function | COMMENT |
| MEDIUM | core/schemas/plugin.go | 283 | // Plugin authors should ensure their hooks are robust to both response and error being nil, and should not assume eithe | COMMENT |
| MEDIUM | framework/logstore/rdb.go | 636 | // Use @> containment operator to leverage GIN index on metadata::jsonb. | COMMENT |
| MEDIUM | framework/warp/flows.go | 1152 | // closes that gap and is the highest-leverage call available for answer | COMMENT |
| MEDIUM | plugins/semanticcache/plugin_embedding_test.go | 182 | // minimum margin that's robust to seconds-level rounding + a slow CI. | COMMENT |
| MEDIUM | transports/bifrost-http/.air.debug.toml | 30 | # Run binary via delve debugger in headless mode on port 2345 | COMMENT |
| MEDIUM | tests/docker-compose.yml | 25 | - "127.0.0.1:50051:50051" # gRPC, used by the harness config's grpc_config | CODE |
| MEDIUM | tests/integrations/python/config.json | 1498 | "description": "Provider harness only (folder 117, #7538). Sends the request to OpenAI on a model OpenAI rejects | CODE |
| MEDIUM | tests/integrations/python/config.json | 1513 | "description": "Provider harness only (folder 117, #7538). Same as harness-custom-provider-fallback-boot, but th | CODE |
| MEDIUM | tests/integrations/python/tests/test_typesafe.py | 461 | # TypeScript suites and by the provider-harness generator. | COMMENT |
| MEDIUM | tests/integrations/python/tests/test_google.py | 4050 | # Generate one source image and reuse it to keep test robust/lightweight. | COMMENT |
| MEDIUM | tests/e2e/features/dashboard/pages/dashboard.page.ts | 36 | // Chart cards - using data-testid for robust selectors | COMMENT |
| MEDIUM | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 15 | # Each cell boots a fresh gateway (harness-gateway.sh), runs the provider harness on | COMMENT |
| MEDIUM | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 37 | # Provider secrets come from the environment, as for `make run-provider-harness-test`; | COMMENT |
| MEDIUM | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 67 | # shellcheck source=../../../../../.github/workflows/scripts/harness-gateway.sh | COMMENT |
| MEDIUM⚡ | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 228 | # reset_cell_artifacts deletes the harness's shared outputs before a cell runs. They live | COMMENT |
| MEDIUM⚡ | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 229 | # in tmp/ for every cell, so a cell whose harness dies before newman writes would | COMMENT |
| MEDIUM⚡ | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 239 | # stream_cancel_failed reports whether the last harness run ran the stream-cancellation | COMMENT |
| MEDIUM | tests/e2e/api/runners/proxy/run-proxy-matrix.sh | 349 | # Start from empty proxy logs and harness outputs, so a cell that fails setup does not | COMMENT |
| MEDIUM | …api/runners/individual/run-newman-mcp-harness-tests.sh | 5 | # Boots a fresh Bifrost server and runs collections/mcp-harness.json against it. | COMMENT |
| MEDIUM | …api/runners/individual/run-newman-mcp-harness-tests.sh | 8 | # The collection is generated from runners/build-mcp-harness.mjs at the start of each run and is | COMMENT |
| MEDIUM | scripts/bifrost-migration-cli/scripts/seed_models.sh | 3 | # seed_models.sh - seed the comprehensive model fixture into a running LiteLLM | COMMENT |
| MEDIUM | .github/workflows/run-core-tests.yml | 89 | # job log, corrupting the harness counters. | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 301 | # core build, then runs the provider harness (tests/e2e/api/collections/provider-harness.json) | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 303 | # .github/workflows/scripts/test-provider-harness.sh. The harness runs on the | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 308 | # Gated on core alone. The provider harness only exercises core's provider | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 313 | # harness. Every downstream release job already accepts | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 316 | # test-api-integrations and test-migrations. Matches test-cli-harness. | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 1175 | # test-cli-harness's matrix below. | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 1183 | # Must track test-cli-harness's gate exactly - this job exists only to build | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 1184 | # that matrix, so running it when the harness is skipped resolves versions | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 1258 | # tmp/cli-harness-<cli>.log and uploaded with the reports below. | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 1261 | # Gated on core alone, matching test-core. What this harness actually covers | COMMENT |
| MEDIUM⚡ | .github/workflows/release-pipeline.yml | 1264 | # accept `needs.test-cli-harness.result == 'skipped'`. | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 55 | # upstream provider: test-core (the ~90 minute provider harness), | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 57 | # test-proxy-e2e (the harness smoke set through real proxies). Every | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 71 | # nothing to do with that provider - not to get a red harness out the door. | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 204 | # cli-harness leg: `make build-ui` ~54s, `go build` on bifrost-http ~2m30s - | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 207 | # every build helper honours (harness-gateway.sh, test-api-integrations.sh, | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 331 | # 127.0.0.1:8080 is the bifrost-http binary the harness drives. | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 497 | # Additional vars the provider harness forwards to newman: | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 508 | # harness prints, turning "fail 141" into "fail ***4***". Not | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 534 | # Publishes the provider harness's failure breakdown to R2 for the release | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 551 | # cli-harness reports the changelog links alongside it. | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 597 | # other host the harness sources name, which check-egress-allowlist.sh | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 598 | # requires of a harness job (the .invalid and example names never resolve). | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 692 | # The harness runs with provider secrets and nothing here uses git afterwards, | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 777 | # Additional vars the provider harness forwards to newman: | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 788 | # harness prints, turning "fail 141" into "fail ***4***". Not | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 1042 | # test-provider-harness.sh), so reaching this job means three attempts failed | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 1231 | # CLI harness - installs the real Claude Code, Codex and OpenCode CLIs and | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 1234 | # narrow: one model per CLI and a core scenario set. See test-cli-harness.sh | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 1275 | # The five run_cases invocations in test-cli-harness.sh each pass | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 1279 | # harness artifacts too. Raised twice: 90 -> 120 when the opencode suite was | COMMENT |
| MEDIUM | .github/workflows/release-pipeline.yml | 1298 | # under XDG_CACHE_HOME - which the harness points at a fresh temp dir | COMMENT |
| 59 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 93 | # Step 1: Initialize OpenAI client with Bifrost | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 99 | # Step 2: Send chat request | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 105 | # Step 3: Check for tool calls | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 109 | # Step 4: Execute tool via Bifrost | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 122 | # Step 5: Continue conversation with results | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 134 | // Step 1: Initialize OpenAI client with Bifrost | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 140 | // Step 2: Send chat request | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 148 | // Step 3: Check for tool calls | COMMENT |
| LOW⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 151 | // Step 4: Execute tool via Bifrost | COMMENT |
| LOW | ui/app/workspace/mcp-logs/views/emptyState.tsx | 165 | // Step 5: Continue conversation with results | COMMENT |
| LOW | core/bifrost_test.go | 2266 | // Step 1: isClosing() passes — queue is open. | COMMENT |
| LOW | core/bifrost_test.go | 2279 | // Step 2: enter the exact select guard used in production. | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2649 | // Step 2: atomically replace — new producers now get newPq | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2651 | // Step 4: signal old closing — stale producers will detect this | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2887 | // Step 2: expose newPq first so stale producers can re-route to it | COMMENT |
| LOW⚡ | core/bifrost_test.go | 2891 | // Step 3: transfer buffered messages oldPq → newPq. | COMMENT |
| LOW | core/bifrost_test.go | 2907 | // Step 4: signal closing — producers holding a stale oldPq ref now | COMMENT |
| LOW⚡ | core/bifrost.go | 4270 | // Step 1: Load the ProviderQueue and verify provider exists | COMMENT |
| LOW⚡ | core/bifrost.go | 4277 | // Step 2: Signal closing. Blocks new producers (isClosing() returns true) and | COMMENT |
| LOW⚡ | core/bifrost.go | 4282 | // Step 3: Wait for all workers to finish in-flight requests and exit. | COMMENT |
| LOW⚡ | core/bifrost.go | 4301 | // Step 4: Remove the provider from the request queues. | COMMENT |
| LOW⚡ | core/bifrost.go | 4304 | // Step 5: Remove the provider from the wait groups. | COMMENT |
| LOW⚡ | core/bifrost.go | 4307 | // Step 6: Remove the provider from the providers slice. | COMMENT |
| LOW⚡ | core/bifrost.go | 4382 | // Step 1: Create provider instance before touching live routing state. If | COMMENT |
| LOW⚡ | core/bifrost.go | 4389 | // Step 2: Create new ProviderQueue and wait group with updated settings. | COMMENT |
| LOW⚡ | core/bifrost.go | 4397 | // Step 3: Atomically replace the provider in the providers slice before new | COMMENT |
| LOW⚡ | core/bifrost.go | 4513 | // Step 6: Register cleanup before signalling the old queue. Otherwise | COMMENT |
| LOW⚡ | core/bifrost.go | 4523 | // Step 7: Signal the old queue is closing. Stale producers that still hold a | COMMENT |
| LOW⚡ | core/bifrost.go | 4528 | // Step 8: Cleanup old workers asynchronously. Waiting here under the provider | COMMENT |
| LOW⚡ | core/bifrost.go | 8141 | // Step 2: derive per-side capture and strip flags. | COMMENT |
| LOW⚡ | core/bifrost.go | 8149 | // Step 3: write all internal signals explicitly (never touch the user override keys). | COMMENT |
| LOW | core/bifrost.go | 4440 | // Step 4: Publish the new queue/wait group and start new workers before old | COMMENT |
| LOW | core/bifrost.go | 4456 | // Step 5: Transfer buffered requests from the old queue to the new queue BEFORE | COMMENT |
| LOW | core/bifrost.go | 8117 | // Step 1: compute effective value for each flag (provider config ← per-request override). | COMMENT |
| LOW⚡ | core/providers/utils/models.go | 277 | // Step 1: resolve name — collect all alias matches (or the raw ID if none match). | COMMENT |
| LOW⚡ | core/providers/utils/models.go | 284 | // Step 2: allowlist check. | COMMENT |
| LOW | core/providers/utils/models.go | 300 | // Step 3: blacklist check — blacklist always wins regardless of allowlist or aliases. | COMMENT |
| LOW | core/providers/utils/utils_test.go | 358 | // Step 1: Parse the error (like ParseOpenAIError does) | COMMENT |
| LOW | core/providers/utils/utils_test.go | 371 | // Step 2: Enrich with request (like providers do) | COMMENT |
| LOW⚡ | core/providers/bedrock/bedrock_test.go | 2605 | // Step 1: BedrockConverseRequest → BifrostResponsesRequest | COMMENT |
| LOW⚡ | core/providers/bedrock/bedrock_test.go | 2613 | // Step 2: BifrostResponsesRequest → BedrockConverseRequest | COMMENT |
| LOW | core/providers/anthropic/serversidefallback_test.go | 134 | // Step 1: Anthropic -> Bifrost | COMMENT |
| LOW | core/providers/anthropic/serversidefallback_test.go | 155 | // Step 2: Bifrost -> Anthropic | COMMENT |
| LOW | core/providers/anthropic/websearch_test.go | 183 | // Step 1: output_item.added | COMMENT |
| LOW | core/providers/anthropic/websearch_test.go | 199 | // Step 2: FunctionCallArgumentsDelta events (should be skipped) | COMMENT |
| LOW | core/providers/anthropic/websearch_test.go | 211 | // Step 3: output_item.done with full accumulated arguments | COMMENT |
| LOW | core/providers/anthropic/compaction_test.go | 598 | // Step 1: Anthropic → Bifrost | COMMENT |
| LOW | core/providers/anthropic/compaction_test.go | 629 | // Step 2: Bifrost → Anthropic | COMMENT |
| LOW | core/providers/anthropic/anthropic.go | 1186 | // So we need to check if the response.Usage is nil and then if usage != nil | COMMENT |
| LOW⚡ | core/providers/openai/realtime_test.go | 818 | // Step 1: Parse the client event (same path as wsrealtime.go). | COMMENT |
| LOW⚡ | core/providers/openai/realtime_test.go | 827 | // Step 2: Convert back to provider format. | COMMENT |
| LOW⚡ | core/providers/openai/realtime_test.go | 834 | // Step 3: Verify the output JSON contains the audio field with correct value. | COMMENT |
| LOW | core/providers/openai/openai.go | 872 | // So we need to check if the response.Usage is nil and then if usage != nil | COMMENT |
| LOW | core/providers/openai/openai.go | 1767 | // So we need to check if the response.Usage is nil and then if usage != nil | COMMENT |
| LOW | core/internal/mcptests/codemode_files_test.go | 626 | // Step 1: List tool files (returns a tree structure as text) | COMMENT |
| LOW | core/internal/mcptests/codemode_files_test.go | 646 | // Step 2: Read a tool file using readToolFile | COMMENT |
| LOW | core/internal/mcptests/codemode_files_test.go | 666 | // Step 3: Execute code that uses the tools | COMMENT |
| LOW | core/internal/llmtests/transcription_stream.go | 71 | // Step 1: Generate TTS audio | COMMENT |
| LOW | core/internal/llmtests/transcription_stream.go | 138 | // Step 2: Test streaming transcription | COMMENT |
| LOW | core/internal/llmtests/transcription.go | 98 | // Step 1: Generate TTS audio | COMMENT |
| 159 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/app/pprof/page.tsx | 78 | function loadSkippedGoroutineFiles(): Set<string> { | CODE |
| LOW | ui/app/pprof/page.tsx | 88 | function saveSkippedGoroutineFiles(skipped: Set<string>): void { | CODE |
| LOW | …/components/guardrails/guardrailsConfigurationView.tsx | 5 | export default function GuardrailsConfigurationView() { | CODE |
| LOW | …ponents/large-payload/largePayloadSettingsFragment.tsx | 9 | export default function LargePayloadSettingsFragment(_props: LargePayloadSettingsFragmentProps) { | CODE |
| LOW | …/prompt-deployments/promptDeploymentsAccordionItem.tsx | 9 | export function PromptDeploymentsAccordionItem({ activeSection }: { activeSection: SettingsSidebarSection | undefined }) | CODE |
| LOW | …cks/enterprise/lib/store/utils/baseQueryWithRefresh.ts | 10 | export function createBaseQueryWithRefresh(baseQuery: BaseQueryFn): BaseQueryFn { | CODE |
| LOW | ui/app/workspace/scim/oauth-discover-callback/page.tsx | 3 | export default function OAuthDiscoverCallbackPage() { | CODE |
| LOW | ui/app/workspace/complexity-router/formSchema.ts | 42 | export function countCanonicalSemanticPhrases(keywords: Record<KeywordListKey, string[]>) { | CODE |
| LOW | ui/app/workspace/complexity-router/formSchema.ts | 382 | export function decisionGuidanceFormValues( | CODE |
| LOW | ui/app/workspace/complexity-router/formSchema.ts | 406 | export function decisionCriteriaFromDefaults(defaults: DecisionGuidanceDefaults): DecisionGuidanceFormValues["criteria"] | CODE |
| LOW | ui/app/workspace/complexity-router/formSchema.ts | 417 | export function isDecisionGuidanceDefault(criteria: DecisionGuidanceFormValues["criteria"], defaults: DecisionGuidanceDe | CODE |
| LOW | ui/app/workspace/complexity-router/formSchema.ts | 520 | export function semanticTimeoutFieldValue(timeout: string | undefined): string | number { | CODE |
| LOW | ui/app/workspace/complexity-router/formSchema.ts | 527 | export function decisionTimeoutFieldValue(timeout: string | undefined): string | number { | CODE |
| LOW | …complexity-router/views/classifierStatusBadge.utils.ts | 19 | export function semanticWarmupFailureMessage(status: SemanticStatusInfo): string { | CODE |
| LOW | …complexity-router/views/classifierStatusBadge.utils.ts | 30 | export function semanticWarmupImpactMessage(status: SemanticStatusInfo, fallback: SemanticFallback): string { | CODE |
| LOW | ui/app/workspace/guardrails/configuration/page.tsx | 3 | export default function GuardrailsConfigurationPage() { | CODE |
| LOW | …kspace/relay-logs/views/relayLogsExportDialog.utils.ts | 109 | export function formatRelayActiveFiltersSummary(filters: RelayLogFilters): string[] { | CODE |
| LOW | …kspace/relay-logs/views/relayLogsExportDialog.utils.ts | 143 | export function normalizeRelayExportFilters(filters: RelayLogFilters, timezone?: string): RelayLogFilters { | CODE |
| LOW | ui/app/workspace/config/views/warpView.utils.ts | 46 | export function validateWarpRetentionDays(value: unknown): true | string { | CODE |
| LOW | ui/app/workspace/config/views/warpView.utils.ts | 61 | export function validateWarpMaxIterations(value: unknown): true | string { | CODE |
| LOW | ui/app/workspace/config/views/warpView.utils.ts | 106 | export function retainFinishedWarpBackfill( | CODE |
| LOW | ui/app/workspace/config/views/warpView.utils.ts | 120 | export function retainedWarpBackfillForSpace(retained: RetainedWarpBackfill | null, savedSpaceKey: string): WarpBackfill | CODE |
| LOW | …orkspace/plugins/dialogs/confirmDeletePluginDialog.tsx | 23 | export default function ConfirmDeletePluginDialog({ show, onCancel, onDelete, plugin }: Props) { | CODE |
| LOW | …app/workspace/providers/fragments/deploymentsTable.tsx | 437 | function UseAnthropicEndpointsToggleSection({ config, onChange, disabled, providerName }: ProviderSectionProps & { provi | CODE |
| LOW | …pace/providers/fragments/injectedToolsFormFragment.tsx | 265 | export function InjectedToolsFormFragment({ provider }: InjectedToolsFormFragmentProps) { | CODE |
| LOW | …workspace/providers/fragments/passthroughForm.utils.ts | 91 | export function savedPassthroughFormValues(policy: PassthroughPolicy | null | undefined, isCustom: boolean): Passthrough | CODE |
| LOW | …workspace/providers/fragments/passthroughForm.utils.ts | 128 | export function withPassthroughRequestsAllowed(config: CustomProviderConfig | undefined): CustomProviderConfig | undefin | CODE |
| LOW | ui/app/workspace/providers/routing-rules/page.tsx | 3 | export default function ProvidersRoutingRulesPage() { | CODE |
| LOW | …kspace/providers/dialogs/cloudflareMigrationDialog.tsx | 65 | export default function CloudflareMigrationDialog({ show, provider, onDeferred, onMigrated }: Props) { | CODE |
| LOW | …kspace/providers/dialogs/addNewCustomProviderSheet.tsx | 49 | export function AddCustomProviderSheetContent({ show = true, onClose, onSave }: AddCustomProviderSheetContentProps) { | CODE |
| LOW | …pace/providers/dialogs/confirmDeleteProviderDialog.tsx | 24 | export default function ConfirmDeleteProviderDialog({ show, onCancel, onDelete, provider }: Props) { | CODE |
| LOW | …roviders/dialogs/firstPartyProviderAvailableDialog.tsx | 24 | export default function FirstPartyProviderAvailableDialog({ show, customProviderName, knownProvider, onDismiss, onProcee | CODE |
| LOW | …kspace/providers/dialogs/databricksMigrationDialog.tsx | 84 | export default function DatabricksMigrationDialog({ show, provider, onDeferred, onMigrated }: Props) { | CODE |
| LOW | …rkspace/providers/views/modelProviderKeysTableView.tsx | 99 | export default function ModelProviderKeysTableView({ provider, className, headerActions, isKeyless }: Props) { | CODE |
| LOW | …rkspace/providers/views/modelProviderKeysTableView.tsx | 130 | async function handleRefreshProviderModels() { | CODE |
| LOW | ui/app/workspace/adaptive-routing/settings/page.tsx | 3 | export default function AdaptiveRoutingSettingsPage() { | CODE |
| LOW | ui/app/workspace/adaptive-routing/incidents/page.tsx | 4 | export default function AdaptiveRoutingIncidentsPage() { | CODE |
| LOW | …pp/workspace/agent-logs/views/agentLogDetailsSheet.tsx | 160 | function RawCaptureUnavailableNotice({ detail }: { detail?: AgentLogDetail }) { | CODE |
| LOW | …orkspace/agent-logs/views/agentContextDetailsSheet.tsx | 200 | function ConversationFailedResponse({ state }: { state: string }) { | CODE |
| LOW | …orkspace/agent-logs/views/agentContextDetailsSheet.tsx | 297 | function protocolActivityDefinition(operation: string): ProtocolActivityDefinition { | CODE |
| LOW | …ustom-pricing/overrides/scopedPricingOverridesView.tsx | 37 | function PricingOverrideActionsMenu({ | CODE |
| LOW | …ustom-pricing/overrides/scopedPricingOverridesView.tsx | 194 | export default function ScopedPricingOverridesView() { | CODE |
| LOW | …ustom-pricing/overrides/pricingOverridesEmptyState.tsx | 13 | export function PricingOverridesEmptyState({ onCreateClick }: PricingOverridesEmptyStateProps) { | CODE |
| LOW | ui/app/workspace/custom-pricing/overrides/page.tsx | 3 | export default function ScopedPricingOverridesPage() { | CODE |
| LOW | …ard/components/charts/externalCacheTokenMeterChart.tsx | 19 | function ExternalCacheTokenMeterChartImpl({ data }: ExternalCacheTokenMeterChartProps) { | CODE |
| LOW | …ashboard/components/charts/providerThroughputChart.tsx | 88 | function ProviderThroughputChartImpl({ data, chartType, startTime, endTime, selectedProvider }: ProviderThroughputChartP | CODE |
| LOW | …hboard/components/charts/localCacheTokenMeterChart.tsx | 17 | function LocalCacheTokenMeterChartImpl({ data }: LocalCacheTokenMeterChartProps) { | CODE |
| LOW | …/mcp-registry/library/views/mcpLibraryServersTable.tsx | 192 | export function MCPLibraryServersTableSkeleton({ rows = 8 }: { rows?: number }) { | CODE |
| LOW | …ce/mcp-registry/library/views/mcpLibraryServerCard.tsx | 237 | export function MCPLibraryServerCardSkeleton() { | CODE |
| LOW | …p/workspace/mcp-registry/views/mcpClientFormFields.tsx | 203 | export function useMCPClientFormSatellites(): MCPClientFormSatellites { | CODE |
| LOW | …p/workspace/mcp-registry/views/mcpClientFormFields.tsx | 288 | export function getHeadersValidationError(headers: Record<string, SecretVar> | undefined): string | null { | CODE |
| LOW | …p/workspace/mcp-registry/views/mcpClientFormFields.tsx | 482 | function effectivePerUserHeaderKeys(data: CreateMCPClientRequest, satellites: MCPClientFormSatellites): string[] { | CODE |
| LOW | …/workspace/mcp-registry/views/mcpClientOpenApiUtils.ts | 257 | export function buildOpenAPIConfigPayload( | CODE |
| LOW | ui/app/workspace/mcp-registry/views/mcpClientSheet.tsx | 154 | function toolSyncIntervalToMinutes(v: number | undefined | null): number { | CODE |
| LOW | ui/app/workspace/mcp-registry/views/mcpClientSheet.tsx | 163 | function toolExecutionTimeoutToSeconds(v: string | number | undefined | null): number { | CODE |
| LOW | …pace/mcp-registry/views/mcpClientCredentialSection.tsx | 41 | export function MCPClientCredentialSection({ mcpClient }: Props) { | CODE |
| LOW | …p/workspace/mcp-registry/views/tokenExchangeFields.tsx | 23 | export function tokenExchangeProfilePayload(te?: Partial<MCPTokenExchangeConfig>): Partial<MCPTokenExchangeConfig> { | CODE |
| LOW | …p/workspace/mcp-registry/views/tokenExchangeFields.tsx | 45 | export function exchangesAsSSOApplication(te?: Partial<MCPTokenExchangeConfig>): boolean { | CODE |
| LOW | …p/workspace/mcp-registry/views/tokenExchangeFields.tsx | 50 | export function tokenExchangeProfileFormValues(te?: Partial<MCPTokenExchangeConfig>): Partial<MCPTokenExchangeConfig> { | CODE |
| LOW | …pp/workspace/mcp-registry/views/mcpUsageGuide/utils.ts | 69 | export function isClientAllowedForVirtualKey(client: MCPClient, virtualKey: VirtualKey): boolean { | CODE |
| 266 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/locales/ja/common.json | 143 | "placeholder": "オプションを選択", | CODE |
| LOW | ui/locales/ja/common.json | 604 | "placeholder": "ベース形式を選択", | CODE |
| LOW | ui/locales/ja/shell.json | 178 | "placeholder": "ページを検索、または移動…", | CODE |
| LOW⚡ | ui/locales/ja/shell.json | 203 | "placeholder": "作成するものを検索…" | CODE |
| LOW⚡ | ui/locales/ja/shell.json | 207 | "placeholder": "テーマを検索…" | CODE |
| LOW⚡ | ui/locales/ja/shell.json | 211 | "placeholder": "言語を検索…" | CODE |
| LOW | ui/locales/ja/shell.json | 245 | "placeholder": "検索…", | CODE |
| LOW | ui/locales/ja/shell.json | 436 | "placeholder": "Bifrost のデータについて質問...", | CODE |
| LOW | ui/locales/it/common.json | 143 | "placeholder": "Seleziona opzioni", | CODE |
| LOW | ui/locales/it/common.json | 604 | "placeholder": "Seleziona il formato di base", | CODE |
| LOW | ui/locales/it/shell.json | 178 | "placeholder": "Cerca pagine o vai a…", | CODE |
| LOW⚡ | ui/locales/it/shell.json | 203 | "placeholder": "Cerca cosa creare…" | CODE |
| LOW⚡ | ui/locales/it/shell.json | 207 | "placeholder": "Cerca temi…" | CODE |
| LOW⚡ | ui/locales/it/shell.json | 211 | "placeholder": "Cerca lingue…" | CODE |
| LOW | ui/locales/it/shell.json | 245 | "placeholder": "Cerca...", | CODE |
| LOW | ui/locales/it/shell.json | 436 | "placeholder": "Chiedi sui tuoi dati Bifrost...", | CODE |
| LOW | ui/locales/ru/common.json | 149 | "placeholder": "Выберите варианты", | CODE |
| LOW | ui/locales/ru/common.json | 638 | "placeholder": "Выберите базовый формат", | CODE |
| LOW | ui/locales/ru/shell.json | 178 | "placeholder": "Найдите страницу или перейдите к…", | CODE |
| LOW⚡ | ui/locales/ru/shell.json | 203 | "placeholder": "Что создать…" | CODE |
| LOW⚡ | ui/locales/ru/shell.json | 207 | "placeholder": "Поиск темы…" | CODE |
| LOW⚡ | ui/locales/ru/shell.json | 211 | "placeholder": "Поиск языка…" | CODE |
| LOW | ui/locales/ru/shell.json | 245 | "placeholder": "Поиск...", | CODE |
| LOW | ui/locales/ru/shell.json | 440 | "placeholder": "Спросите о данных Bifrost...", | CODE |
| LOW | ui/locales/zh-CN/common.json | 143 | "placeholder": "选择选项", | CODE |
| LOW | ui/locales/zh-CN/common.json | 604 | "placeholder": "选择基础格式", | CODE |
| LOW | ui/locales/zh-CN/shell.json | 178 | "placeholder": "搜索页面或跳转到…", | CODE |
| LOW⚡ | ui/locales/zh-CN/shell.json | 203 | "placeholder": "搜索要创建的内容…" | CODE |
| LOW⚡ | ui/locales/zh-CN/shell.json | 207 | "placeholder": "搜索主题…" | CODE |
| LOW⚡ | ui/locales/zh-CN/shell.json | 211 | "placeholder": "搜索语言…" | CODE |
| LOW | ui/locales/zh-CN/shell.json | 245 | "placeholder": "搜索…", | CODE |
| LOW | ui/locales/zh-CN/shell.json | 436 | "placeholder": "询问你的 Bifrost 数据…", | CODE |
| LOW | ui/locales/pt/common.json | 143 | "placeholder": "Selecionar opções", | CODE |
| LOW | ui/locales/pt/common.json | 604 | "placeholder": "Selecionar formato base", | CODE |
| LOW | ui/locales/pt/shell.json | 178 | "placeholder": "Pesquise páginas ou vá para…", | CODE |
| LOW⚡ | ui/locales/pt/shell.json | 203 | "placeholder": "Pesquisar o que criar…" | CODE |
| LOW⚡ | ui/locales/pt/shell.json | 207 | "placeholder": "Pesquisar temas…" | CODE |
| LOW⚡ | ui/locales/pt/shell.json | 211 | "placeholder": "Pesquisar idiomas…" | CODE |
| LOW | ui/locales/pt/shell.json | 245 | "placeholder": "Pesquisar...", | CODE |
| LOW | ui/locales/pt/shell.json | 436 | "placeholder": "Pergunte sobre os seus dados do Bifrost...", | CODE |
| LOW | ui/locales/zh-TW/common.json | 530 | "placeholder": "選擇選項", | CODE |
| LOW | ui/locales/zh-TW/common.json | 604 | "placeholder": "選擇基礎格式", | CODE |
| LOW | ui/locales/zh-TW/shell.json | 178 | "placeholder": "搜尋頁面或跳至…", | CODE |
| LOW⚡ | ui/locales/zh-TW/shell.json | 203 | "placeholder": "搜尋要建立的內容…" | CODE |
| LOW⚡ | ui/locales/zh-TW/shell.json | 207 | "placeholder": "搜尋主題…" | CODE |
| LOW⚡ | ui/locales/zh-TW/shell.json | 211 | "placeholder": "搜尋語言…" | CODE |
| LOW | ui/locales/zh-TW/shell.json | 245 | "placeholder": "搜尋…", | CODE |
| LOW | ui/locales/zh-TW/shell.json | 436 | "placeholder": "詢問你的 Bifrost 資料…", | CODE |
| LOW | ui/locales/de/common.json | 143 | "placeholder": "Optionen auswählen", | CODE |
| LOW | ui/locales/de/common.json | 604 | "placeholder": "Basisformat auswählen", | CODE |
| LOW | ui/locales/de/shell.json | 178 | "placeholder": "Seiten suchen oder springen zu…", | CODE |
| LOW⚡ | ui/locales/de/shell.json | 203 | "placeholder": "Suchen, was erstellt werden soll…" | CODE |
| LOW⚡ | ui/locales/de/shell.json | 207 | "placeholder": "Designs suchen…" | CODE |
| LOW⚡ | ui/locales/de/shell.json | 211 | "placeholder": "Sprachen suchen…" | CODE |
| LOW | ui/locales/de/shell.json | 245 | "placeholder": "Suchen...", | CODE |
| LOW | ui/locales/de/shell.json | 436 | "placeholder": "Fragen zu deinen Bifrost-Daten...", | CODE |
| LOW | ui/locales/ko/common.json | 143 | "placeholder": "옵션 선택", | CODE |
| LOW | ui/locales/ko/common.json | 604 | "placeholder": "기본 형식 선택", | CODE |
| LOW | ui/locales/ko/shell.json | 178 | "placeholder": "페이지 검색 또는 이동…", | CODE |
| LOW⚡ | ui/locales/ko/shell.json | 203 | "placeholder": "만들 항목 검색…" | CODE |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | AGENTS.md | 46 | │ │ ├── agent.go # Agent orchestration loop (multi-turn tool calling) | CODE |
| MEDIUM | AGENTS.md | 281 | ├── <name>.go # Controller: constructor, interface methods, HTTP orchestration | CODE |
| MEDIUM | …/components/guardrails/guardrailsConfigurationView.tsx | 14 | readmeLink="https://docs.getbifrost.ai/enterprise/guardrails" | CODE |
| MEDIUM | …prise/components/guardrails/guardrailIncidentsView.tsx | 14 | readmeLink="https://docs.getbifrost.ai/enterprise/guardrails" | CODE |
| MEDIUM | …prise/components/guardrails/guardrailsProviderView.tsx | 14 | readmeLink="https://docs.getbifrost.ai/enterprise/guardrails" | CODE |
| MEDIUM | ui/app/workspace/guardrails/incidents/layout.tsx | 7 | // guardrails access the parent route already checks. | COMMENT |
| MEDIUM | core/encryptedreasoning_test.go | 2935 | // it changes, and each sjson write reserialises the entire request. A long agentic | COMMENT |
| MEDIUM | core/failureclass.go | 312 | // treated it. That includes a guardrail or moderation refusal: guardrails can be set | COMMENT |
| MEDIUM | core/providers/bedrock/types.go | 207 | GuardContent *BedrockGuardContent `json:"guardContent,omitempty"` // Guard content for guardrails | CODE |
| MEDIUM | core/providers/bedrock/types.go | 231 | // Guard content (for guardrails) | COMMENT |
| MEDIUM | core/providers/bedrock/types.go | 374 | // BedrockGuardContent represents guard content for guardrails (a union of text and image) | COMMENT |
| MEDIUM | core/providers/bedrock/types.go | 407 | // BedrockGuardContentText represents text content for guardrails | COMMENT |
| MEDIUM | core/providers/bedrock/utils.go | 929 | // caller-chosen suffix is appended to it (see guardrails-tagging in the AWS user guide). | COMMENT |
| MEDIUM | core/providers/bedrock/utils.go | 933 | // the query (see guardrails-contextual-grounding-check in the AWS user guide). | COMMENT |
| MEDIUM | core/providers/bedrock/utils.go | 1043 | // splitInlineGuardTags splits text on well-formed <amazon-bedrock-guardrails-guardContent_suffix> | COMMENT |
| MEDIUM | core/providers/bedrock/utils.go | 1084 | // <amazon-bedrock-guardrails-guardContent_{suffix}> tags plus guardrailConfig.tagSuffix; Converse | COMMENT |
| MEDIUM | core/providers/anthropic/utils_test.go | 4348 | // gateway had ever allocated to this one loop, all of it garbage: long agentic | COMMENT |
| MEDIUM | core/providers/anthropic/utils_test.go | 4585 | // throw the struct away. On a long agentic conversation that decode expands the messages | COMMENT |
| MEDIUM | core/providers/anthropic/types.go | 486 | // AnthropicTaskBudget represents an advisory token budget for a full agentic loop (output_config.task_budget). | COMMENT |
| MEDIUM | core/providers/anthropic/types.go | 1317 | // AnthropicToolCallerType identifies which agentic caller produced a tool | COMMENT |
| MEDIUM | core/providers/anthropic/types.go | 492 | Total int `json:"total"` // total advisory token budget across the agentic loop | CODE |
| MEDIUM | core/providers/anthropic/utils.go | 2361 | // production, because the messages array (the bulk of an agentic conversation) expands | COMMENT |
| MEDIUM | core/providers/anthropic/utils.go | 2981 | // N*S. Long agentic conversations carry hundreds of unsigned thinking blocks in a | COMMENT |
| MEDIUM | core/network/http_test.go | 593 | // factory's fasthttp proxy dialer (SCIM, guardrails and other API clients): | COMMENT |
| MEDIUM | core/network/http.go | 34 | // ClientPurposeAPI is used for general API requests (guardrails, etc.) | COMMENT |
| MEDIUM | core/network/proxytest/proxytest.go | 13 | // clients (identity providers, guardrails, plugins). It is test scaffolding: only test | COMMENT |
| MEDIUM | core/mcp/codemode/starlark/executecode.go | 438 | // guardrails: mark it here and raise after the pipeline, not before it. | COMMENT |
| MEDIUM | core/schemas/responses.go | 2055 | // <amazon-bedrock-guardrails-guardContent_{suffix}> span; once any block in a request is | COMMENT |
| MEDIUM | core/schemas/responses.go | 2349 | // server_tool_use / *_tool_result blocks. It links a tool call to the agentic | COMMENT |
| MEDIUM | core/schemas/responses.go | 2411 | // Caller links this call to the agentic caller that produced it (programmatic | COMMENT |
| MEDIUM | core/schemas/redaction.go | 72 | // RedactionData carries request-scoped redaction data from guardrails to log and trace sinks. | COMMENT |
| MEDIUM | core/schemas/exportfixture.go | 27 | // way the guardrails plugin does. It must never appear in a connector's output. | COMMENT |
| MEDIUM | core/schemas/exportfixture.go | 197 | // Redact as the guardrails plugin does, so every connector is checked against | COMMENT |
| MEDIUM⚡ | core/schemas/bifrost.go | 409 | BifrostContextKeyGuardrailMetadata BifrostContextKey = "bifrost-guardrail-debug" | CODE |
| MEDIUM⚡ | core/schemas/bifrost.go | 410 | BifrostContextKeyGuardrailHeaders BifrostContextKey = "bifrost-guardrail-headers" | CODE |
| MEDIUM⚡ | core/schemas/bifrost.go | 414 | BifrostContextKeyRedactionData BifrostContextKey = "bifrost-redaction-data" | CODE |
| MEDIUM | core/schemas/bifrost.go | 452 | BifrostContextKeyDeferredGuardrail BifrostContextKey = "bifrost-deferred-guardrail" / | CODE |
| MEDIUM | framework/configstore/complexitylegacyexemplars.go | 17 | // 3 translation, and 3 agentic prompts. Topic ladders place related vocabulary | COMMENT |
| MEDIUM | framework/logstore/tables.go | 659 | // agentic response with hundreds of distinct tools cannot bloat the row. | COMMENT |
| MEDIUM | framework/logstore/rdb.go | 669 | // guardrailInterventionErrorType is the error type the guardrails plugin | COMMENT |
| MEDIUM | framework/logstore/rdb.go | 1730 | // A guardrail block's error_details is the short message the guardrails | COMMENT |
| MEDIUM | framework/streaming/gate_test.go | 2025 | // shape the native Anthropic path buffers under guardrails full-hold. | COMMENT |
| MEDIUM | framework/streaming/gate_test.go | 2057 | // TestGate_FullHoldRedactReplaySSE walks the guardrails full-hold seam with a | COMMENT |
| MEDIUM | framework/warp/trace_test.go | 26 | // Every optional causal field (retries, error, cache, guardrails, plugin and | COMMENT |
| MEDIUM | framework/warp/client.go | 317 | // guardrails HTTP pre-hook would otherwise have captured - without it a | COMMENT |
| MEDIUM | plugins/routing/complexity/exemplars.go | 7 | // 3 translation, and 3 agentic prompts. Topic ladders place related vocabulary | COMMENT |
| MEDIUM | plugins/logging/writer.go | 898 | // goroutine waits; the guardrails plugin runs the callback when its background | COMMENT |
| MEDIUM | transports/bifrost-http/integrations/anthropic.go | 736 | // LLM guardrails omit native MCP outputs; count their normalized item | COMMENT |
| MEDIUM | transports/bifrost-http/integrations/anthropic_test.go | 51 | // guardrails evaluated it and non-Anthropic fallbacks received it. | COMMENT |
| MEDIUM | transports/bifrost-http/integrations/anthropic_test.go | 1161 | // omitted from LLM guardrails consume no text target IDs. Billing metadata stays intact. | COMMENT |
| MEDIUM | tests/integrations/python/config.yml | 901 | max_tokens: 32000 # 32k token context window for TTS | CODE |
| MEDIUM | tests/integrations/python/config.yml | 915 | max_tokens: 32000 # 32k token context window for TTS | CODE |
| MEDIUM | tests/integrations/python/tests/test_anthropic.py | 740 | max_tokens=4000, # Reduced to prevent token limit errors for smaller context window models | CODE |
| MEDIUM | tests/integrations/typescript/config.yml | 901 | max_tokens: 32000 # 32k token context window for TTS | CODE |
| MEDIUM | tests/integrations/typescript/config.yml | 915 | max_tokens: 32000 # 32k token context window for TTS | CODE |
| MEDIUM | .claude/skills/security-audit/CLOUD-AND-DEPLOYMENT.md | 41 | ## Container and orchestration attack classes (subagent_type: `general`) | COMMENT |
| MEDIUM | docs/docs.json | 2858 | "href": "https://www.getmaxim.ai/ai-guardrails?utm_source=bifrost_docs&utm_medium=Bifrost_Footer" | CODE |
| MEDIUM | examples/k8s/enterprise/values-guardrails.yaml | 1 | # Enterprise overlay: guardrails documentation sample. | COMMENT |
| MEDIUM | examples/k8s/enterprise/values-guardrails.yaml | 100 | endpoint: "https://example-guardrails.cognitiveservices.azure.com/" | CODE |
| MEDIUM | examples/k8s/enterprise/values-guardrails.yaml | 116 | endpoint: "https://example-guardrails.cognitiveservices.azure.com/" | CODE |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/providers/gemini/responses_test.go | 1098 | parts := geminiPartsFromCodeInterpreterCall(call(schemas.Ptr("print('Error: none')"), "completed", "Error: none\n")) | CODE |
| LOW | tests/load_test_parameter_ordering.sh | 635 | except Exception as e: | CODE |
| LOW | tests/integrations/python/README.md | 1019 | except Exception as e: | CODE |
| LOW⚡ | tests/integrations/python/README.md | 1384 | except Exception as e: | CODE |
| MEDIUM⚡ | tests/integrations/python/README.md | 1385 | print(f"Error extracting tool calls: {e}") | CODE |
| LOW | tests/integrations/python/README.md | 1494 | except Exception as e: | CODE |
| LOW | tests/integrations/python/heartbeat_test.py | 87 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | tests/integrations/python/heartbeat_test.py | 119 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | tests/integrations/python/run_integration_tests.py | 101 | except Exception as e: | CODE |
| LOW | tests/integrations/python/run_all_tests.py | 155 | except Exception as e: | CODE |
| LOW | tests/integrations/python/run_all_tests.py | 207 | except Exception as e: | CODE |
| MEDIUM | tests/integrations/python/run_all_tests.py | 318 | print(f"Error: Unknown integration '{args.integration}'") | STRING |
| MEDIUM | tests/integrations/python/tests/test_anthropic.py | 4299 | def test_11_file_upload_and_container_upload(self, files_beta_client): | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 975 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 978 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1040 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1043 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1097 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1167 | except Exception as download_error: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1185 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1188 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1245 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1323 | except Exception: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1371 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1415 | except Exception as results_error: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1430 | except Exception: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1433 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1509 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2763 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 4325 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_anthropic.py | 4327 | except Exception as e: | CODE |
| LOW⚡ | tests/integrations/python/tests/test_openai.py | 3161 | except Exception as e: | CODE |
| LOW⚡ | tests/integrations/python/tests/test_openai.py | 3688 | except Exception: | CODE |
| LOW⚡ | tests/integrations/python/tests/test_openai.py | 3855 | except Exception as e: | CODE |
| LOW⚡ | tests/integrations/python/tests/test_openai.py | 3946 | except Exception as e: | CODE |
| LOW⚡ | tests/integrations/python/tests/test_openai.py | 3952 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 359 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 845 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1013 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1180 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1225 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1267 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1301 | except Exception as base64_error: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1304 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 1766 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 2350 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 2487 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 2963 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3016 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3063 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3223 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3261 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3265 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3340 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3345 | except Exception as e: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3419 | except Exception: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3457 | except Exception: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3462 | except Exception: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3531 | except Exception: | CODE |
| LOW | tests/integrations/python/tests/test_openai.py | 3536 | except Exception: | CODE |
| 153 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/internal/mcptests/codemode_files_test.go | 422 | # Check if TestCodeModeServer exists and has methods | COMMENT |
| LOW | tests/integrations/python/run_integration_tests.py | 49 | # Check if test file exists | COMMENT |
| LOW | tests/integrations/python/run_integration_tests.py | 83 | # Print results | COMMENT |
| LOW | tests/integrations/python/tests/test_anthropic.py | 611 | # Check if response is approximately 5 words (allow some flexibility) | COMMENT |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2675 | # Check if cache was written | COMMENT |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2708 | # Check if cache was read | COMMENT |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3541 | # Check if compaction triggered a pause | COMMENT |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3671 | # Check if compaction occurred | COMMENT |
| LOW | tests/integrations/python/tests/test_openai.py | 686 | # Check if response is approximately 5 words (allow some flexibility) | COMMENT |
| LOW | tests/integrations/python/tests/test_openai.py | 2391 | # Check if we have a reasoning message type | COMMENT |
| LOW | tests/integrations/python/tests/test_langchain.py | 1308 | # Check if usage metadata is available (Gemini-specific) | COMMENT |
| LOW | tests/integrations/python/tests/test_bedrock.py | 476 | # Check if response has content | COMMENT |
| LOW | tests/integrations/python/tests/test_bedrock.py | 790 | # Check if response has content | COMMENT |
| LOW | tests/integrations/python/tests/test_bedrock.py | 915 | # Check if response is approximately 5 words (allow some flexibility) | COMMENT |
| LOW | tests/integrations/python/tests/test_azure.py | 568 | # Check if response is approximately 5 words (allow some flexibility) | COMMENT |
| LOW | tests/integrations/python/tests/test_azure.py | 1545 | # Check if we have a reasoning message type | COMMENT |
| LOW | tests/integrations/python/tests/test_google.py | 613 | # Check if function call was made (Google GenAI might return function calls) | COMMENT |
| LOW | tests/integrations/python/tests/test_google.py | 637 | # Check if function calls were made | COMMENT |
| LOW | tests/integrations/python/tests/test_google.py | 662 | # Check if function call was made | COMMENT |
| LOW | tests/integrations/python/tests/test_google.py | 700 | # Check if function calls were made | COMMENT |
| LOW⚡ | tests/integrations/python/tests/utils/common.py | 3411 | # Check if domain matches any blocked pattern | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 1514 | # Check if it's an OpenAI-style response object | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 1530 | # Check if usage information is present | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 1548 | # Check if it's a direct list (embedding vector) | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 1570 | # Check if it's an OpenAI-style response object | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 1600 | # Check if it's a direct list of embeddings | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 2711 | # Check if this is a LangChain AIMessage object | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 2753 | # Check if we have a reasoning message type | COMMENT |
| LOW | tests/integrations/python/tests/utils/common.py | 3396 | # Check if domain matches any allowed pattern | COMMENT |
| LOW | tests/e2e/api/setup-mcp.sh | 14 | # Check if MCP server is already listening on 3001 (e.g. from a previous run) | COMMENT |
| LOW | tests/e2e/api/setup-plugin.sh | 15 | # Check if plugin source exists | COMMENT |
| LOW | tests/e2e/api/runners/run-newman-api-tests.sh | 43 | # Check if Newman is installed | COMMENT |
| LOW | tests/e2e/api/runners/run-newman-api-tests.sh | 50 | # Check if collection exists | COMMENT |
| LOW | tests/e2e/api/runners/run-newman-inference-tests.sh | 56 | # Check if Newman is installed | COMMENT |
| LOW | tests/e2e/api/runners/run-newman-inference-tests.sh | 63 | # Check if collection exists | COMMENT |
| LOW | …e/api/runners/individual/run-newman-vk-expiry-tests.sh | 69 | # Check if Newman is installed | COMMENT |
| LOW | …e/api/runners/individual/run-newman-vk-expiry-tests.sh | 76 | # Check if collection exists | COMMENT |
| LOW | …ers/individual/run-newman-pricing-time-of-day-tests.sh | 75 | # Check if Newman is installed | COMMENT |
| LOW | …ers/individual/run-newman-pricing-time-of-day-tests.sh | 82 | # Check if collection exists | COMMENT |
| LOW | …rs/individual/run-newman-vk-rotation-cooldown-tests.sh | 70 | # Check if Newman is installed | COMMENT |
| LOW | …rs/individual/run-newman-vk-rotation-cooldown-tests.sh | 77 | # Check if collection exists | COMMENT |
| LOW | …ers/individual/run-newman-vk-object-ownership-tests.sh | 71 | # Check if Newman is installed | COMMENT |
| LOW | …ers/individual/run-newman-vk-object-ownership-tests.sh | 78 | # Check if collection exists | COMMENT |
| LOW⚡ | …i/runners/individual/run-newman-bedrock-integration.sh | 55 | # Check if Newman is installed | COMMENT |
| LOW⚡ | …i/runners/individual/run-newman-bedrock-integration.sh | 62 | # Check if collection exists | COMMENT |
| LOW⚡ | …i/runners/individual/run-newman-bedrock-integration.sh | 68 | # Check if environment exists | COMMENT |
| LOW | …i/runners/individual/run-newman-bedrock-integration.sh | 273 | # Check if we're entering a JSON block | COMMENT |
| LOW | …i/runners/individual/run-newman-bedrock-integration.sh | 287 | # Check if we're exiting a JSON block | COMMENT |
| LOW | …/runners/individual/run-newman-request-guards-tests.sh | 92 | # Check if Newman is installed | COMMENT |
| LOW | …/runners/individual/run-newman-request-guards-tests.sh | 99 | # Check if collection exists | COMMENT |
| LOW⚡ | …pi/runners/individual/run-newman-openai-integration.sh | 57 | # Check if Newman is installed | COMMENT |
| LOW⚡ | …pi/runners/individual/run-newman-openai-integration.sh | 64 | # Check if collection exists | COMMENT |
| LOW⚡ | …pi/runners/individual/run-newman-openai-integration.sh | 70 | # Check if environment exists | COMMENT |
| LOW | …pi/runners/individual/run-newman-openai-integration.sh | 276 | # Check if we're entering a JSON block | COMMENT |
| LOW | …pi/runners/individual/run-newman-openai-integration.sh | 290 | # Check if we're exiting a JSON block | COMMENT |
| LOW⚡ | …runners/individual/run-newman-composite-integration.sh | 56 | # Check if Newman is installed | COMMENT |
| LOW⚡ | …runners/individual/run-newman-composite-integration.sh | 63 | # Check if collection exists | COMMENT |
| LOW⚡ | …runners/individual/run-newman-composite-integration.sh | 69 | # Check if environment exists | COMMENT |
| LOW | …runners/individual/run-newman-composite-integration.sh | 259 | # Check if we're entering a JSON block | COMMENT |
| LOW | …runners/individual/run-newman-composite-integration.sh | 273 | # Check if we're exiting a JSON block | COMMENT |
| 68 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integrations/python/tests/test_anthropic.py | 1430 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_anthropic.py | 1323 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3582 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3531 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3536 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3688 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3419 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3457 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3462 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_openai.py | 3619 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_litellm.py | 156 | except ImportError: | CODE |
| HIGH | tests/integrations/python/tests/test_bedrock.py | 757 | except json.JSONDecodeError: | CODE |
| HIGH | tests/integrations/python/tests/test_bedrock.py | 3350 | except json.JSONDecodeError: | CODE |
| HIGH | tests/integrations/python/tests/test_azure.py | 2088 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_azure.py | 2093 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_azure.py | 2154 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_google.py | 4200 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_google.py | 4230 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_google.py | 4259 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_google.py | 4291 | except Exception: | CODE |
| HIGH | tests/integrations/python/tests/test_google.py | 4349 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integrations/python/tests/test_anthropic.py | 0 | test case 1: simple chat interaction - runs across all available providers | STRING |
| HIGH | tests/integrations/python/tests/test_openai.py | 0 | test case 1: simple chat interaction - runs across all available providers | STRING |
| HIGH | tests/integrations/python/tests/test_google.py | 0 | test case 1: simple chat interaction - runs across all available providers | STRING |
| HIGH | tests/integrations/python/tests/test_anthropic.py | 0 | test case 4: multiple tool calls in one response - auto-skips providers without tool model | STRING |
| HIGH | tests/integrations/python/tests/test_openai.py | 0 | test case 4: multiple tool calls in one response - auto-skips providers without tool model | STRING |
| HIGH | tests/integrations/python/tests/test_google.py | 0 | test case 4: multiple tool calls in one response - auto-skips providers without tool model | STRING |
| HIGH | tests/integrations/python/tests/test_anthropic.py | 0 | test case 5: complete tool calling flow with responses | STRING |
| HIGH | tests/integrations/python/tests/test_openai.py | 0 | test case 5: complete tool calling flow with responses | STRING |
| HIGH | tests/integrations/python/tests/test_litellm.py | 0 | test case 5: complete tool calling flow with responses | STRING |
| HIGH | tests/integrations/python/tests/test_google.py | 0 | test case 5: complete tool calling flow with responses | STRING |
| HIGH | tests/integrations/python/tests/test_anthropic.py | 0 | test case 10: complex end-to-end with conversation, images, and tools | STRING |
| HIGH | tests/integrations/python/tests/test_openai.py | 0 | test case 10: complex end-to-end with conversation, images, and tools | STRING |
| HIGH | tests/integrations/python/tests/test_litellm.py | 0 | test case 10: complex end-to-end with conversation, images, and tools | STRING |
| HIGH | tests/integrations/python/tests/test_azure.py | 0 | test case 10: complex end-to-end with conversation, images, and tools | STRING |
| HIGH | tests/integrations/python/tests/test_google.py | 0 | test case 10: complex end-to-end with conversation, images, and tools | STRING |
| HIGH | …i/runners/individual/run-newman-bedrock-integration.sh | 0 | format json using jq if available, otherwise use python's json module | STRING |
| HIGH | …pi/runners/individual/run-newman-openai-integration.sh | 0 | format json using jq if available, otherwise use python's json module | STRING |
| HIGH | …runners/individual/run-newman-composite-integration.sh | 0 | format json using jq if available, otherwise use python's json module | STRING |
| HIGH | …runners/individual/run-newman-anthropic-integration.sh | 0 | format json using jq if available, otherwise use python's json module | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integrations/python/heartbeat_test.py | 47 | CODE | |
| LOW | tests/integrations/python/run_all_tests.py | 210 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 161 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3080 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3108 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 514 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 730 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 818 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 1974 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2164 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2247 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2375 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2432 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2547 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2597 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2722 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2773 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 2827 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3314 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3422 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 3782 | CODE | |
| LOW | tests/integrations/python/tests/test_anthropic.py | 4051 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 1884 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 1931 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 1967 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 2014 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 2221 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 2360 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 2613 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 2682 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 3176 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 3373 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 3542 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 3699 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 4032 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 4150 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 4298 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 4353 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 4406 | CODE | |
| LOW | tests/integrations/python/tests/conftest.py | 32 | CODE | |
| LOW | tests/integrations/python/tests/conftest.py | 93 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 187 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 1043 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 1198 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 1285 | CODE | |
| LOW | tests/integrations/python/tests/test_bedrock.py | 293 | CODE | |
| LOW | tests/integrations/python/tests/test_bedrock.py | 574 | CODE | |
| LOW | tests/integrations/python/tests/test_bedrock.py | 671 | CODE | |
| LOW | tests/integrations/python/tests/test_bedrock.py | 3076 | CODE | |
| LOW | tests/integrations/python/tests/test_bedrock.py | 3258 | CODE | |
| LOW | tests/integrations/python/tests/test_azure.py | 1239 | CODE | |
| LOW | tests/integrations/python/tests/test_azure.py | 1278 | CODE | |
| LOW | tests/integrations/python/tests/test_azure.py | 1316 | CODE | |
| LOW | tests/integrations/python/tests/test_azure.py | 1515 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 242 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 371 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 984 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 1427 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 2305 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 3447 | CODE | |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/mcp/codemode/starlark/getdocs.go | 155 | sb.WriteString("# This file contains Python documentation for a specific tool on this MCP server.\n") | CODE |
| MEDIUM | core/mcp/codemode/starlark/getdocs.go | 157 | sb.WriteString("# This file contains Python documentation for all tools available on this MCP server.\n") | CODE |
| MEDIUM | tests/integrations/python/tests/test_pydanticai.py | 390 | # Define a tool that we'll manually execute | COMMENT |
| MEDIUM | tests/integrations/python/tests/test_bedrock.py | 1514 | # Create a job to cancel | COMMENT |
| MEDIUM | tests/integrations/python/tests/test_google.py | 266 | # Create a function declaration dictionary with lowercase types | COMMENT |
| MEDIUM | tests/integrations/python/tests/test_google.py | 283 | # Create a Tool object containing the function declaration | COMMENT |
| MEDIUM | tests/integrations/python/tests/test_google.py | 318 | # Create a white background | COMMENT |
| MEDIUM | tests/integrations/python/tests/test_google.py | 1957 | # Define a Pydantic model for structured output | COMMENT |
| MEDIUM | tests/integrations/python/tests/utils/common.py | 51 | # Create a simple red image | COMMENT |
| MEDIUM | examples/k8s/enterprise/values-scim.yaml | 2 | # This file is SAFE-BY-DEFAULT (scim.enabled=false) so placeholder values | COMMENT |
| MEDIUM | …-charts/bifrost/values-examples/postgres-weaviate.yaml | 68 | # Create the secret with: kubectl create secret generic bifrost-semantic-cache --from-literal=openai-key=sk-YOUR_O | COMMENT |
| MEDIUM | helm-charts/bifrost/values-examples/production-ha.yaml | 91 | # Create the secret with: kubectl create secret generic bifrost-encryption --from-literal=key=YOUR_ENCRYPTION_KEY | COMMENT |
| MEDIUM | helm-charts/bifrost/values-examples/production-ha.yaml | 126 | # Create the secret with: kubectl create secret generic bifrost-semantic-cache --from-literal=openai-key=sk-YOUR_O | COMMENT |
| MEDIUM | helm-charts/bifrost/values-examples/sqlite-qdrant.yaml | 55 | # Create the secret with: kubectl create secret generic bifrost-semantic-cache --from-literal=openai-key=sk-YOUR_O | COMMENT |
| MEDIUM | …lm-charts/bifrost/values-examples/sqlite-weaviate.yaml | 56 | # Create the secret with: kubectl create secret generic bifrost-semantic-cache --from-literal=openai-key=sk-YOUR_O | COMMENT |
| MEDIUM | helm-charts/bifrost/values-examples/postgres-redis.yaml | 71 | # Create the secret with: kubectl create secret generic bifrost-semantic-cache --from-literal=openai-key=sk-YOUR_O | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integrations/python/tests/test_langchain.py | 1875 | The parameter is omitted rather than sent as null, so this also pins that each | STRING |
| HIGH | tests/integrations/python/tests/test_typesafe.py | 215 | # The SDK's wire type excludes null, but a client can still send it and | COMMENT |
| HIGH | tests/integrations/python/tests/test_typesafe.py | 404 | # (object, string, null, and array shaped) carry meaning, so a correct | COMMENT |
| HIGH | docs/openapi/spec_invariants_test.py | 874 | # An update request wraps the list as oneOf [list, null]; check the list. | COMMENT |
| HIGH | docs/openapi/spec_invariants_test.py | 903 | # PUT clears the saved list with an explicit null, so the update request must allow it. | COMMENT |
| HIGH | .github/workflows/scripts/test-migration-fixtures.py | 33 | shell += "if declare -F append_v200_fixtures >/dev/null; then append_v200_fixtures \"$1\" \"$2\" \"'2099-01-01 0 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integrations/python/run_all_tests.py | 23 | CODE | |
| LOW | tests/integrations/python/run_all_tests.py | 23 | CODE | |
| LOW | tests/integrations/python/tests/test_openai.py | 103 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 41 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 41 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 81 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 96 | CODE | |
| LOW | tests/integrations/python/tests/test_pydanticai.py | 97 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 55 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 55 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 58 | CODE | |
| LOW | tests/integrations/python/tests/test_langchain.py | 112 | CODE | |
| LOW | tests/integrations/python/tests/test_litellm.py | 40 | CODE | |
| LOW | tests/integrations/python/tests/test_litellm.py | 40 | CODE | |
| LOW | tests/integrations/python/tests/test_litellm.py | 40 | CODE | |
| LOW | tests/integrations/python/tests/test_litellm.py | 40 | CODE | |
| LOW | tests/integrations/python/tests/test_litellm.py | 40 | CODE | |
| LOW | tests/integrations/python/tests/test_litellm.py | 121 | CODE | |
| LOW | tests/integrations/python/tests/test_typesafe.py | 28 | CODE | |
| LOW | tests/integrations/python/tests/test_azure.py | 76 | CODE | |
| LOW | tests/integrations/python/tests/test_azure.py | 76 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 75 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 75 | CODE | |
| LOW | tests/integrations/python/tests/test_google.py | 75 | CODE | |
| LOW | tests/integrations/python/tests/utils/parametrize.py | 8 | CODE | |
| LOW | tests/live/python/test_sdk_openai.py | 11 | CODE | |
| LOW | docs/openapi/bundle.py | 32 | CODE | |
| LOW | docs/openapi/spec_invariants_test.py | 12 | CODE | |
| LOW | docs/openapi/sync_mintlify_navigation.py | 4 | CODE | |
| LOW | docs/api/procuring-api-keys_test.py | 13 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/providers/bedrock/unsignedreasoning_test.go | 20 | // were generated by Claude when you pass them back", | COMMENT |
| HIGH | core/internal/mcptests/fixtures.go | 772 | // Return the error as requested | COMMENT |
| HIGH | core/internal/llmtests/image_generation.go | 129 | // Validate dimensions are 1024x1024 as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/telemetry/docker-compose.pushgateway.yml | 3 | # Usage: | COMMENT |
| LOW | transports/bifrost-http/main.go | 30 | // Example usage: | COMMENT |
| LOW | tests/e2e/api/runners/proxy/proxy-lib.sh | 15 | # Usage: | COMMENT |
| LOW | recipes/values-local-k8s.yaml | 4 | # Usage: | COMMENT |
| LOW | …ripts/bifrost-migration-cli/scripts/delete_entities.sh | 11 | # Usage: | COMMENT |
| LOW | …s/bifrost-migration-cli/scripts/create_virtual_keys.sh | 5 | # Usage: | COMMENT |
| LOW | …frost-migration-cli/scripts/delete_bifrost_entities.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/bifrost-migration-cli/scripts/create_teams.sh | 5 | # Usage: | COMMENT |
| LOW | …/bifrost-migration-cli/scripts/create_organizations.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/bifrost-migration-cli/scripts/seed_models.sh | 9 | # Usage: | COMMENT |
| LOW | .github/workflows/scripts/test-e2e-api.sh | 5 | # Usage: | COMMENT |
| LOW⚡ | .github/workflows/scripts/harness-gateway.sh | 6 | # Usage: | COMMENT |
| LOW | …ost/values-examples/semantic-cache-secret-example.yaml | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | ui/app/workspace/mcp-logs/views/emptyState.tsx | 131 | print(final_response.choices[0].message.content)`, | CODE |
| HIGH | ui/app/workspace/mcp-logs/views/emptyState.tsx | 205 | print(response.choices[0].message.content) | CODE |
| HIGH | ui/app/workspace/mcp-logs/views/emptyState.tsx | 209 | print("Pending tools requiring approval:", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | framework/openapimcp/execute_test.go | 710 | _, err := exec.Execute(context.Background(), findTool(t, syn, "a"), map[string]any{"X-API-Key": "YOUR_API_KEY", "sid": | CODE |
| HIGH⚡ | tests/integrations/python/README.md | 1393 | export YOUR_INTEGRATION_API_KEY="your-api-key" | CODE |
| HIGH | tests/integrations/typescript/README.md | 195 | apiKey: 'your-api-key', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integrations/python/tests/test_pydanticai.py | 188 | Factory function to create a Pydantic AI model for a given provider. This is the cross-provider equivalent | STRING |
| HIGH | tests/integrations/python/tests/utils/config_loader.py | 115 | Get the complete URL for a integration Args: integration: Integration name (openai, anthropic, goog | STRING |
| HIGH | tests/integrations/python/tests/utils/common.py | 687 | Safely evaluate arithmetic expressions using AST parsing. Only allows basic arithmetic operations: +, -, *, /, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/internal/llmtests/test_retry_conditions.go | 448 | "as a language model", | CODE |
| MEDIUM | core/internal/llmtests/test_retry_conditions.go | 1124 | "as a language model", | CODE |
| LOW | plugins/telemetry/prometheus.yml | 8 | # Make sure to replace "bifrost-api" and "8080" with your actual docker container name and port if different | COMMENT |