OpenRAG is a comprehensive, single package Retrieval-Augmented Generation platform built on Langflow, Docling, and Opensearch.
This report presents the forensic synthetic code analysis of langflow-ai/openrag, a Python project with 4,309 GitHub stars. SynthScan v2.0 examined 271,915 lines of code across 958 source files, recording 4579 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 19.6 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 4579 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/contexts/task-context.tsx | 521 | async function refetchKnowledgeAfterTaskCompletion() { | CODE |
| LOW | frontend/app/knowledge/page.tsx | 74 | function syncGridSelectionToDeletableRows( | CODE |
| LOW | frontend/app/knowledge/page.tsx | 87 | function pruneNonDeletableGridSelection( | CODE |
| LOW | frontend/app/api/queries/useGetConnectorsQuery.ts | 69 | export function updateAllConnectorQueries( | CODE |
| LOW | frontend/app/api/queries/useGetConnectorsQuery.ts | 160 | async function fetchWorkspaceConnectorAccess(): Promise< | CODE |
| LOW | frontend/app/api/queries/useGetConnectorsQuery.ts | 263 | function connectorUserAccessQueryKey( | CODE |
| LOW | frontend/app/api/queries/useGetConnectorsQuery.ts | 270 | function filterConnectorAccessItems( | CODE |
| LOW | frontend/components/cloud-picker/types.ts | 121 | export function getIngestChunkSettingsError( | CODE |
| LOW | frontend/components/task-dialog/file-error-details.tsx | 18 | export function TaskDialogFileErrorDetails({ | CODE |
| LOW | …connectors/azure-blob/useAzureBlobConfigureMutation.ts | 28 | export function useAzureBlobConfigureMutation() { | CODE |
| LOW | …nts/connectors/azure-blob/useAzureBlobDefaultsQuery.ts | 19 | export function useAzureBlobDefaultsQuery(options?: { enabled?: boolean }) { | CODE |
| LOW | …nectors/azure-blob/useAzureBlobContainerStatusQuery.ts | 9 | async function fetchAzureBlobContainerStatus( | CODE |
| LOW | …nectors/azure-blob/useAzureBlobContainerStatusQuery.ts | 23 | export function useAzureBlobContainerStatusQuery( | CODE |
| LOW | …ments/connectors/ibm-cos/useIBMCOSBucketStatusQuery.ts | 23 | export function useIBMCOSBucketStatusQuery( | CODE |
| LOW | …ments/connectors/ibm-cos/useIBMCOSConfigureMutation.ts | 30 | export function useIBMCOSConfigureMutation() { | CODE |
| LOW | frontend/lib/brand.ts | 47 | function isConnectorAllowedByWorkspace( | CODE |
| LOW | frontend/lib/brand.ts | 59 | export function isConnectorShownInWorkspace( | CODE |
| LOW | frontend/lib/brand.ts | 146 | export function canShowRbacGatedSettingsTab( | CODE |
| LOW | frontend/lib/brand.ts | 154 | export function canAccessConnectorAccessTab( | CODE |
| LOW | frontend/lib/ingest-settings-knowledge.ts | 6 | export function knowledgeToIngestSettings( | CODE |
| LOW | frontend/lib/task-error-display.ts | 117 | function buildPipelineStepsFromFailurePhase( | CODE |
| LOW | frontend/lib/task-error-display.ts | 176 | export function analyzeTaskFileIngestionFailure( | CODE |
| LOW | frontend/lib/filter-normalization.ts | 33 | export function buildSearchPayloadFilters( | CODE |
| LOW | frontend/lib/task-utils.ts | 37 | export function getTaskFileDialogStatusLabel( | CODE |
| LOW | frontend/lib/task-utils.ts | 131 | function getTaskFileStatusCategory( | CODE |
| LOW | frontend/lib/task-utils.ts | 153 | export function countTaskFileEntriesByCategory( | CODE |
| LOW | frontend/lib/task-utils.ts | 310 | export function didTaskReachTerminalState( | CODE |
| LOW | frontend/lib/task-utils.ts | 342 | function isPendingTaskFileSourceUrl(sourceUrl: string): boolean { | CODE |
| LOW | frontend/lib/task-utils.ts | 362 | export function getEnhancedListDisappearedFilePaths( | CODE |
| LOW | frontend/lib/knowledge-table-state.ts | 36 | function getKnowledgeFilenameAliases(filename?: string): string[] { | CODE |
| LOW | frontend/lib/knowledge-table-state.ts | 64 | export function getKnowledgeFileAliasKeys(file?: { | CODE |
| LOW | frontend/lib/knowledge-table-state.ts | 78 | function isMeaningfulConnectorType(connectorType?: string): boolean { | CODE |
| LOW | frontend/lib/knowledge-table-state.ts | 84 | export function inferTaskFileConnectorType( | CODE |
| LOW | frontend/lib/knowledge-table-state.ts | 113 | export function resolveKnowledgeRowConnectorType( | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 60 | def test_docling_failed_status(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 69 | def test_docling_expired_status(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 78 | def test_docling_timeout_via_error_string(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 197 | def test_unknown_failure_returns_none(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 206 | def test_no_error_string_unknown_phase(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 222 | def test_missing_task_id_returns_none(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 225 | def test_unknown_task_id_returns_none(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 235 | def test_docling_failed_adds_metadata(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 326 | def test_completed_file_has_no_metadata(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 378 | def test_only_failed_files_get_metadata(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 453 | def test_resolves_anonymous_task(self, task_service): | CODE |
| LOW⚡ | tests/unit/test_task_service_get_task_status2.py | 474 | def test_no_metadata_fields_in_original_method(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 90 | def test_docling_polling_timeout_sets_failed_status(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 103 | def test_docling_conversion_failed_not_retryable(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 114 | def test_corrupt_docx_bad_zip_not_retryable(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 126 | def test_langflow_empty_content_not_retryable(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 136 | def test_docling_phase_still_processing(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 148 | def test_task_cancelled_by_user_not_retryable(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 161 | def test_langflow_phase_failure(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 173 | def test_duplicate_file_error(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 185 | def test_langflow_duplicate_file_error_prefers_file_validation(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 254 | def test_docling_expired_adds_metadata(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 267 | def test_langflow_failure_adds_metadata(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 284 | def test_duplicate_file_failure_adds_metadata(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 301 | def test_unknown_failure_adds_no_metadata_fields(self, task_service): | CODE |
| LOW | tests/unit/test_task_service_get_task_status2.py | 343 | def test_running_file_has_no_metadata(self, task_service): | CODE |
| 1149 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/tests/core/financial_document.spec.ts | 55 | // ── Test 1: Table data retrieval ────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/tests/core/financial_document.spec.ts | 75 | // ── Test 2: Out-of-scope query (no hallucination) ───────────────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 216 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 218 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 229 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 231 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 320 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 322 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 372 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 374 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 447 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 449 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 468 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_task_service_get_task_status2.py | 470 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/unit/test_task_service_get_task_status2.py | 19 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/unit/test_task_service_get_task_status2.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_langflow_utils.py | 33 | # ── Success on first attempt ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/test_langflow_utils.py | 47 | # ── Success after transient failures ───────────────────────────────── | COMMENT |
| MEDIUM | tests/unit/test_langflow_utils.py | 94 | # ── Exhausted retries ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/unit/test_langflow_utils.py | 131 | # ── Backoff behavior ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/unit/test_langflow_utils.py | 180 | # ── Edge cases ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/unit/test_jwt_claims_cache.py | 29 | # ─── fixtures ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/unit/test_jwt_claims_cache.py | 50 | # ─── session_manager.verify_token ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/test_jwt_claims_cache.py | 137 | # ─── auth.ibm_auth.decode_ibm_jwt ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/test_env_manager.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_env_manager.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_env_manager.py | 165 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_env_manager.py | 167 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_env_manager.py | 205 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_env_manager.py | 207 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_docling_service_status_check.py | 40 | # ── check_task_status ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/test_docling_service_status_check.py | 117 | # ── fetch_task_result ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 75 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 77 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 97 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 99 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 141 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 143 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 166 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 168 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 240 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 242 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/unit/test_settings_provider_removal_defaults.py | 31 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/unit/test_settings_provider_removal_defaults.py | 33 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 14 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 16 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 124 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 151 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 176 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_shared_flag.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_connector_processor_filename_dedupe.py | 485 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/test_connector_processor_filename_dedupe.py | 488 | # --------------------------------------------------------------------------- | COMMENT |
| 245 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/test_api_key_service.py | 39 | user_email="user@example.com", | CODE |
| LOW | tests/unit/test_api_key_service.py | 70 | "user_email": "user@example.com", | CODE |
| LOW | tests/unit/test_api_key_service.py | 84 | "user_email": "user@example.com", | CODE |
| LOW⚡ | tests/unit/test_group_acl.py | 245 | assert user.email == "user@example.com" | CODE |
| LOW⚡ | tests/unit/test_group_acl.py | 357 | assert user.email == "user@example.com" | CODE |
| LOW⚡ | tests/unit/test_group_acl.py | 490 | email="user@example.com", | CODE |
| LOW⚡ | tests/unit/test_group_acl.py | 698 | email="user@example.com", | CODE |
| LOW⚡ | tests/unit/test_group_acl.py | 702 | ) == [google_drive_user_principal("user@example.com")] | CODE |
| LOW⚡ | tests/unit/test_group_acl.py | 714 | {"email": "user@example.com"}, | CODE |
| LOW | tests/unit/test_group_acl.py | 51 | user = User(user_id="user-1", email="user@example.com", name="User") | CODE |
| LOW | tests/unit/test_group_acl.py | 73 | user = User(user_id="user-1", email="user@example.com", name="User") | CODE |
| LOW | tests/unit/test_group_acl.py | 123 | User(user_id="user-1", email="user@example.com", name="User") | CODE |
| LOW | tests/unit/test_group_acl.py | 296 | email="user@example.com", | CODE |
| LOW | tests/unit/test_group_acl.py | 325 | and label.get("email") == "user@example.com" | CODE |
| LOW | tests/unit/test_group_acl.py | 398 | email="user@example.com", | CODE |
| LOW | tests/unit/test_group_acl.py | 728 | assert kwargs["userKey"] == "user@example.com" | CODE |
| LOW | tests/unit/test_group_acl.py | 772 | {"email": "user@example.com"}, | CODE |
| LOW | tests/unit/test_group_acl.py | 787 | assert "member_key_id == 'user@example.com'" in kwargs["query"] | CODE |
| LOW | tests/unit/test_oauth_encryption.py | 120 | m_oauth.app.get_accounts = lambda: [{"username": "fake-user"}] | CODE |
| LOW⚡ | tests/unit/test_langflow_ingest_callback.py | 30 | allowed_users=["user@example.com"], | CODE |
| LOW⚡ | tests/unit/test_langflow_ingest_callback.py | 38 | "email": "user@example.com", | CODE |
| LOW | tests/unit/test_langflow_ingest_callback.py | 80 | assert indexed_context.allowed_users == ["user@example.com"] | CODE |
| LOW | tests/unit/test_langflow_ingest_callback.py | 88 | "email": "user@example.com", | CODE |
| LOW | tests/unit/test_langflow_ingest_callback.py | 197 | owner_email="user@example.com", | CODE |
| LOW | tests/unit/test_connector_processor_filename_dedupe.py | 42 | acl=DocumentACL(owner="user@example.com"), | CODE |
| LOW | tests/unit/test_connector_processor_filename_dedupe.py | 239 | acl=DocumentACL(owner="user@example.com"), | CODE |
| LOW | tests/unit/test_connector_processor_filename_dedupe.py | 382 | acl=DocumentACL(owner="user@example.com"), | CODE |
| LOW | …/unit/connectors/test_google_drive_orphan_detection.py | 44 | token_file="/tmp/fake-token.json", | CODE |
| LOW | tests/unit/connectors/test_webhook_notification_url.py | 147 | token_file="/tmp/fake-token.json", | CODE |
| LOW⚡ | tests/unit/connectors/test_webhook_renewal.py | 437 | token_file="/tmp/fake-token.json", | CODE |
| LOW | …ts/unit/connectors/test_google_drive_webhook_events.py | 32 | token_file="/tmp/fake-token.json", | CODE |
| LOW | tests/unit/dependencies/test_auth_jwt_attachment.py | 29 | email="user@example.com", | CODE |
| LOW⚡ | flows/openrag_url_mcp.json | 3627 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 467 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 487 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 507 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 528 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 552 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 579 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 604 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 629 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 779 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 799 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 820 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 837 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 857 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 884 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 910 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 956 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 984 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1004 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1028 | "placeholder": "Enter a URL...", | CODE |
| LOW | flows/openrag_url_mcp.json | 1049 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1190 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1211 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1229 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1250 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1274 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1307 | "placeholder": "", | CODE |
| LOW | flows/openrag_url_mcp.json | 1332 | "placeholder": "", | CODE |
| 1344 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | warm_up_docling.py | 25 | except Exception: | CODE |
| LOW | sdks/python/openrag_sdk/client.py | 220 | except Exception: | CODE |
| LOW | sdks/python/openrag_sdk/knowledge_filters.py | 129 | except Exception: | CODE |
| LOW | plugins/openrag/skills/sdk/SKILL.md | 614 | except Exception as e: | CODE |
| LOW | plugins/openrag/skills/sdk/SKILL.md | 631 | except Exception as e: | CODE |
| MEDIUM | plugins/openrag/skills/sdk/SKILL.md | 535 | def handle_errors(): | CODE |
| LOW | tests/conftest.py | 93 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 124 | except Exception: | CODE |
| LOW | tests/conftest.py | 144 | except Exception: | CODE |
| LOW | tests/integration/core/test_startup_ingest.py | 54 | except Exception as e: | CODE |
| LOW | tests/integration/core/test_startup_ingest.py | 89 | except Exception: | CODE |
| LOW | tests/integration/core/test_startup_ingest.py | 149 | except Exception: | CODE |
| LOW | tests/integration/core/test_startup_ingest.py | 156 | except Exception: | CODE |
| LOW | tests/integration/core/test_onboarding_sample_docs.py | 56 | except Exception as exc: | CODE |
| LOW | tests/integration/core/test_onboarding_sample_docs.py | 132 | except Exception: | CODE |
| LOW | tests/integration/core/test_non_langflow_ingestion.py | 50 | except Exception as e: | CODE |
| LOW | tests/integration/core/test_non_langflow_ingestion.py | 66 | except Exception: | CODE |
| LOW | tests/integration/core/test_non_langflow_ingestion.py | 102 | except Exception: | CODE |
| LOW | tests/integration/core/test_group_acl_dls.py | 73 | except Exception: | CODE |
| LOW | tests/integration/core/test_shared_flag_dls.py | 74 | except Exception: | CODE |
| LOW | tests/integration/core/test_shared_flag_dls.py | 179 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 45 | except Exception as e: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 118 | except Exception as e: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 184 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 203 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 276 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 290 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 320 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 349 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 480 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 521 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 625 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 669 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 687 | except Exception: | CODE |
| LOW | tests/integration/core/test_api_endpoints.py | 718 | except Exception: | CODE |
| LOW | tests/integration/sdk/conftest.py | 50 | except Exception as e: | CODE |
| MEDIUM | scripts/clear_opensearch_data.py | 19 | print("Error: No container runtime available") | CODE |
| LOW | scripts/migrate_embedding_model_field.py | 89 | except Exception as e: | CODE |
| LOW | scripts/migrate_embedding_model_field.py | 137 | except Exception as e: | CODE |
| LOW | scripts/migrate_embedding_model_field.py | 210 | except Exception as e: | CODE |
| LOW | scripts/migrate_embedding_model_field.py | 310 | except Exception as e: | CODE |
| LOW | scripts/connectors/azure/seed_azurite.py | 541 | except Exception as exc: # ResourceNotFoundError if it didn't exist | CODE |
| LOW | scripts/connectors/azure/seed_azurite.py | 548 | except Exception as exc: # ResourceExistsError on re-run | CODE |
| LOW | scripts/ci/pypi_nightly_tag.py | 72 | except Exception as e: | CODE |
| MEDIUM | scripts/ci/pypi_nightly_tag.py | 73 | print(f"Error creating tag: {e}", file=sys.stderr) | CODE |
| LOW | scripts/test_scripts/sdk/python/harness.py | 110 | except Exception: | CODE |
| LOW | scripts/test_scripts/sdk/python/harness.py | 141 | except Exception as e: | CODE |
| LOW | scripts/test_scripts/sdk/python/harness.py | 164 | except Exception: | CODE |
| MEDIUM | scripts/test_scripts/sdk/python/harness.py | 159 | def _sdk_version() -> str: | CODE |
| LOW | scripts/test_scripts/sdk/python/main.py | 155 | except Exception as e: | CODE |
| LOW | enhancements/connectors/ibm_cos/api.py | 92 | except Exception: | CODE |
| LOW | enhancements/connectors/ibm_cos/api.py | 140 | except Exception: | CODE |
| LOW | enhancements/connectors/ibm_cos/api.py | 167 | except Exception: | CODE |
| LOW | enhancements/connectors/ibm_cos/api.py | 187 | except Exception: | CODE |
| LOW | enhancements/connectors/ibm_cos/connector.py | 177 | except Exception as exc: | CODE |
| LOW | enhancements/connectors/ibm_cos/connector.py | 195 | except Exception as exc: | CODE |
| LOW | enhancements/connectors/ibm_cos/connector.py | 278 | except Exception as exc: | CODE |
| LOW⚡ | enhancements/connectors/ibm_cos/connector.py | 376 | except Exception as exc: | CODE |
| LOW | enhancements/connectors/azure_blob/api.py | 94 | except Exception: | CODE |
| LOW | enhancements/connectors/azure_blob/api.py | 128 | except Exception: | CODE |
| 668 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/openrag_sdk/documents.py | 11 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 30 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 31 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 31 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 31 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 31 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 31 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 31 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 39 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/__init__.py | 40 | CODE | |
| LOW | sdks/python/openrag_sdk/knowledge_filters.py | 6 | CODE | |
| LOW | sdks/python/openrag_sdk/knowledge_filters.py | 6 | CODE | |
| LOW | sdks/python/openrag_sdk/knowledge_filters.py | 6 | CODE | |
| LOW | sdks/python/openrag_sdk/knowledge_filters.py | 18 | CODE | |
| LOW | sdks/python/openrag_sdk/chat.py | 23 | CODE | |
| LOW | sdks/python/openrag_sdk/search.py | 5 | CODE | |
| LOW | sdks/python/openrag_sdk/search.py | 10 | CODE | |
| LOW | sdks/mcp/src/openrag_mcp/__init__.py | 3 | CODE | |
| LOW | tests/unit/test_opensearch_disk_space.py | 9 | CODE | |
| LOW | tests/unit/test_opensearch_disk_space.py | 10 | CODE | |
| LOW | tests/unit/test_opensearch_disk_space.py | 10 | CODE | |
| LOW | tests/unit/test_opensearch_disk_space.py | 10 | CODE | |
| LOW | tests/unit/config/test_storage_mode.py | 27 | CODE | |
| LOW | …s/unit/dependencies/test_require_api_key_permission.py | 27 | CODE | |
| LOW | tests/unit/dependencies/test_require_permission.py | 27 | CODE | |
| LOW | tests/unit/dependencies/test_rbac_kill_switch.py | 30 | CODE | |
| LOW | tests/unit/db/test_rbac_seed_idempotency.py | 17 | CODE | |
| LOW | tests/unit/api/test_connectors_connector_access.py | 19 | CODE | |
| LOW | tests/unit/api/test_auth_init_connector_access.py | 19 | CODE | |
| LOW | tests/unit/services/test_connector_access_service.py | 16 | CODE | |
| LOW | tests/unit/services/test_bootstrap_race.py | 17 | CODE | |
| LOW | tests/unit/services/test_rbac_service.py | 16 | CODE | |
| LOW | tests/unit/services/test_default_role_sync.py | 16 | CODE | |
| 190 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CONTRIBUTING.md | 323 | └── docker-compose.yml # Container orchestration | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | tests/unit/test_settings_provider_removal_defaults.py | 241 | # Simulated provider removal: embedding model default | COMMENT |
| MEDIUM | tests/integration/core/test_api_endpoints.py | 430 | # Ensure embedding model is configured via settings | COMMENT |
| MEDIUM | tests/integration/core/test_api_endpoints.py | 579 | # Start with explicit small embedding model | COMMENT |
| MEDIUM | tests/integration/core/test_api_endpoints.py | 599 | # Update embedding model via settings | COMMENT |
| MEDIUM | tests/integration/core/test_api_endpoints.py | 606 | # Ingest second document which should use the large embedding model | COMMENT |
| MEDIUM | tests/integration/sdk/test_e2e.py | 25 | f"# E2E RAG Test\n\n" | CODE |
| MEDIUM | tests/integration/sdk/test_filters.py | 134 | # Beta must NOT appear; alpha may or may not (RAG can return empty), | COMMENT |
| MEDIUM⚡ | kubernetes/operator/config/crd/kustomization.yaml | 3 | #+kubebuilder:scaffold:crdkustomizeresource | COMMENT |
| MEDIUM⚡ | kubernetes/operator/config/crd/kustomization.yaml | 8 | #+kubebuilder:scaffold:crdkustomizewebhookpatch | COMMENT |
| MEDIUM⚡ | kubernetes/operator/config/crd/kustomization.yaml | 12 | #+kubebuilder:scaffold:crdkustomizecainjectionpatch | COMMENT |
| MEDIUM⚡ | flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM | flows/components/ollama_llm.json | 35 | "value": "import asyncio\nfrom typing import Any\nfrom urllib.parse import urljoin\n\nimport httpx\nfrom langc | CODE |
| MEDIUM | flows/components/ollama_llm_text.json | 35 | "value": "import asyncio\nfrom typing import Any\nfrom urllib.parse import urljoin\n\nimport httpx\nfrom langc | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM | src/config/settings.py | 659 | # Track which embedding model was used for this chunk | COMMENT |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM | src/tui/_assets/flows/components/ollama_llm.json | 35 | "value": "import asyncio\nfrom typing import Any\nfrom urllib.parse import urljoin\n\nimport httpx\nfrom langc | CODE |
| MEDIUM | src/tui/_assets/flows/components/ollama_llm_text.json | 35 | "value": "import asyncio\nfrom typing import Any\nfrom urllib.parse import urljoin\n\nimport httpx\nfrom langc | CODE |
| MEDIUM | src/utils/embeddings.py | 40 | # Track which embedding model was used for this chunk | COMMENT |
| MEDIUM⚡ | src/models/processors.py | 411 | # Use provided embedding model or configured model. | COMMENT |
| MEDIUM⚡ | src/models/processors.py | 413 | # but OpenRAG processors still need a concrete embedding model. | COMMENT |
| MEDIUM | src/api/settings/endpoints.py | 1093 | # Initialize the OpenSearch index if embedding model is configured | COMMENT |
| MEDIUM | src/services/chat_service.py | 79 | # Prepare extra headers for JWT authentication and embedding model | COMMENT |
| MEDIUM | src/services/chat_service.py | 84 | # Pass the selected embedding model as a global variable | COMMENT |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | patch-netty.sh | 66 | # Check if the artifact is one of the core Netty artifacts we want to patch | COMMENT |
| LOW | tests/unit/test_oauth_encryption.py | 35 | # Check if upgraded | COMMENT |
| LOW | scripts/migrate_embedding_model_field.py | 252 | # Check if index exists | COMMENT |
| LOW | .github/workflows/build-multiarch.yml | 54 | # Check if tag already exists | COMMENT |
| LOW | .github/workflows/build-multiarch.yml | 62 | # Check if version is numeric (e.g., 0.1.16) vs prerelease (e.g., 0.1.16-rc1) | COMMENT |
| LOW | .github/workflows/deploy-docs-draft.yml | 34 | # Check if branch names contain invalid characters. Only alphanumeric, _, -, ., and / are allowed. | COMMENT |
| LOW | .github/workflows/deploy-docs-draft.yml | 52 | # Check if input_branch starts with "refs/heads/" | COMMENT |
| LOW | kubernetes/helm/openrag/values.yaml | 324 | noColor: false # Set true to disable ANSI color codes in log output | CODE |
| LOW | kubernetes/helm/openrag/values.yaml | 325 | accessLog: true # Set false to disable HTTP access log events | CODE |
| LOW | kubernetes/helm/openrag/values.yaml | 338 | disableIngestWithLangflow: false # Set true to use traditional processor instead of Langflow | CODE |
| LOW | kubernetes/helm/openrag/values.yaml | 339 | ingestSampleData: true # Set true to ingest sample data on startup | CODE |
| LOW⚡ | flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW | flows/openrag_url_mcp.json | 825 | "value": "import importlib\nimport io\nimport re\n\nimport requests\nfrom bs4 import BeautifulSoup\nfrom | CODE |
| LOW⚡ | flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW⚡ | flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW | flows/openrag_agent.json | 4815 | "value": "from __future__ import annotations\n\nimport asyncio\nimport json\nimport uuid\n\nfrom langcha | CODE |
| LOW⚡ | flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW | flows/components/mcp_component.py | 81 | # Check if servers key exists and is not CacheMiss | COMMENT |
| LOW | flows/components/mcp_component.py | 86 | # Check if last_selected_server key exists and is not CacheMiss | COMMENT |
| LOW | flows/components/mcp_component.py | 230 | # Check if caching is enabled, default to False | COMMENT |
| LOW | flows/components/mcp_component.py | 556 | # Check if tools are already cached for this server before clearing | COMMENT |
| LOW | flows/components/opensearch_multimodal.py | 771 | # Check if this is the known OpenSearch k-NN NullPointerException issue | COMMENT |
| LOW | flows/components/opensearch_multimodal.py | 1195 | # Check if we're in ingestion-only mode (no search query) | COMMENT |
| LOW | flows/components/opensearch_multimodal.py | 1311 | # Check if target is in available_models dict - use dedicated instance | COMMENT |
| LOW | flows/components/opensearch_multimodal.py | 1961 | # Check if embedding is None (fail-safe mode) | COMMENT |
| LOW | flows/components/opensearch_multimodal.py | 2094 | # Check if we have an embedding object for this model | COMMENT |
| LOW | flows/components/opensearch_multimodal.py | 2110 | # Check if this is a dedicated instance from available_models dict | COMMENT |
| LOW | src/agent.py | 234 | # Check if this chunk contains retrieval results | COMMENT |
| LOW⚡ | src/connectors/connection_manager.py | 573 | # Check if the webhook ID is stored in the connection config | COMMENT |
| LOW | src/connectors/connection_manager.py | 299 | # Check if this update is adding authentication and webhooks are configured | COMMENT |
| LOW | src/connectors/connection_manager.py | 335 | # Check if we already have an active connection for this provider and user | COMMENT |
| LOW | src/connectors/connection_manager.py | 339 | # Check if the existing connection has a valid token | COMMENT |
| LOW | src/connectors/connection_manager.py | 588 | # Check if webhook is already set up | COMMENT |
| LOW | src/connectors/connection_manager.py | 595 | # Check if webhook URL is configured | COMMENT |
| LOW | src/connectors/onedrive/connector.py | 742 | # Check if it's a folder | COMMENT |
| LOW | src/connectors/onedrive/connector.py | 778 | # Check if ID contains '!' which indicates driveId!itemId format | COMMENT |
| LOW | src/connectors/sharepoint/connector.py | 795 | # Check if ID contains '!' which indicates driveId!itemId format | COMMENT |
| LOW | src/connectors/sharepoint/connector.py | 830 | # Check if it's a folder | COMMENT |
| LOW | src/connectors/sharepoint/connector.py | 851 | # Check if ID contains '!' which indicates driveId!itemId format | COMMENT |
| LOW | src/config/config_manager.py | 325 | # Check if api_key is unencrypted and we have a key | COMMENT |
| LOW | src/tui/main.py | 577 | # Check if migration already completed | COMMENT |
| LOW⚡ | src/tui/_assets/flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW | src/tui/_assets/flows/openrag_url_mcp.json | 825 | "value": "import importlib\nimport io\nimport re\n\nimport requests\nfrom bs4 import BeautifulSoup\nfrom | CODE |
| LOW⚡ | src/tui/_assets/flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW⚡ | src/tui/_assets/flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW | src/tui/_assets/flows/openrag_agent.json | 4815 | "value": "from __future__ import annotations\n\nimport asyncio\nimport json\nimport uuid\n\nfrom langcha | CODE |
| LOW⚡ | src/tui/_assets/flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| LOW | src/tui/managers/env_manager.py | 323 | # Set OPENRAG_VERSION to TUI version if not already set | COMMENT |
| LOW | src/tui/managers/env_manager.py | 831 | # Check if OPENRAG_VERSION is already set in .env | COMMENT |
| LOW | src/tui/managers/docling_manager.py | 133 | # Check if we have a direct process handle | COMMENT |
| LOW | src/tui/managers/docling_manager.py | 140 | # Check if we have a PID from file | COMMENT |
| LOW | src/tui/managers/docling_manager.py | 255 | # Check if port is already in use before trying to start | COMMENT |
| LOW | src/tui/managers/docling_manager.py | 371 | # Check if process is still alive | COMMENT |
| LOW | src/tui/managers/docling_manager.py | 375 | # Check if it's listening on the port | COMMENT |
| LOW | src/tui/managers/docling_manager.py | 603 | # Check if we have new logs | COMMENT |
| LOW | src/tui/managers/container_manager.py | 553 | # Check if we have a carriage return (progress update) before newline | COMMENT |
| LOW | src/tui/managers/container_manager.py | 1150 | # Check if containers already exist (stopped or otherwise) | COMMENT |
| LOW | src/tui/utils/platform.py | 93 | # Check if we have docker/podman runtime but no working compose | COMMENT |
| LOW | src/tui/utils/startup_checks.py | 354 | # Check if machine exists | COMMENT |
| LOW | src/tui/utils/startup_checks.py | 380 | # Check if machine is running | COMMENT |
| 46 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/openrag_sdk/client.py | 212 | CODE | |
| LOW | sdks/python/openrag_sdk/knowledge_filters.py | 133 | CODE | |
| LOW | sdks/python/openrag_sdk/chat.py | 136 | CODE | |
| LOW | sdks/python/openrag_sdk/chat.py | 337 | CODE | |
| LOW | tests/unit/test_encryption.py | 68 | CODE | |
| LOW | tests/integration/core/test_startup_ingest.py | 71 | CODE | |
| LOW | tests/integration/core/test_non_langflow_ingestion.py | 56 | CODE | |
| LOW | tests/integration/core/test_api_endpoints.py | 280 | CODE | |
| LOW | tests/integration/core/test_api_endpoints.py | 309 | CODE | |
| LOW | tests/integration/core/test_api_endpoints.py | 339 | CODE | |
| LOW | scripts/extract_flow_component.py | 81 | CODE | |
| LOW | scripts/ci/get_image_hash.py | 8 | CODE | |
| LOW | scripts/test_scripts/sdk/python/harness.py | 87 | CODE | |
| LOW | enhancements/connectors/ibm_cos/connector.py | 199 | CODE | |
| LOW | enhancements/connectors/ibm_cos/connector.py | 340 | CODE | |
| LOW | enhancements/connectors/azure_blob/connector.py | 224 | CODE | |
| LOW | flows/components/docling_remote.py | 151 | CODE | |
| LOW | flows/components/docling_remote.py | 213 | CODE | |
| LOW | flows/components/mcp_component.py | 214 | CODE | |
| LOW | flows/components/mcp_component.py | 422 | CODE | |
| LOW | flows/components/mcp_component.py | 692 | CODE | |
| LOW | flows/components/mcp_component.py | 758 | CODE | |
| LOW | flows/components/export_docling_document.py | 140 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 468 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 574 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 974 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 1208 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 1654 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 1926 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 2452 | CODE | |
| LOW | src/session_manager.py | 92 | CODE | |
| LOW | src/agent.py | 106 | CODE | |
| LOW | src/agent.py | 287 | CODE | |
| LOW | src/agent.py | 552 | CODE | |
| LOW | src/agent.py | 752 | CODE | |
| LOW | src/connectors/service.py | 79 | CODE | |
| LOW | src/connectors/service.py | 344 | CODE | |
| LOW | src/connectors/service.py | 479 | CODE | |
| LOW | src/connectors/microsoft_graph_acl.py | 143 | CODE | |
| LOW | src/connectors/microsoft_graph_acl.py | 231 | CODE | |
| LOW | src/connectors/microsoft_graph_acl.py | 296 | CODE | |
| LOW | src/connectors/connection_manager.py | 99 | CODE | |
| LOW | src/connectors/connection_manager.py | 154 | CODE | |
| LOW | src/connectors/connection_manager.py | 326 | CODE | |
| LOW | src/connectors/google_drive_acl.py | 102 | CODE | |
| LOW | src/connectors/google_drive_acl.py | 165 | CODE | |
| LOW | src/connectors/google_drive_acl.py | 252 | CODE | |
| LOW | src/connectors/google_drive_acl.py | 316 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 310 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 474 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 640 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 772 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 871 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 997 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 1028 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 1123 | CODE | |
| LOW | src/connectors/onedrive/connector.py | 316 | CODE | |
| LOW | src/connectors/onedrive/oauth.py | 76 | CODE | |
| LOW | src/connectors/onedrive/oauth.py | 270 | CODE | |
| LOW | src/connectors/sharepoint/connector.py | 335 | CODE | |
| 151 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM⚡ | frontend/lib/constants.ts | 7 | 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou have access to sever | CODE |
| MEDIUM | docs/package-lock.json | 17243 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| LOW | .github/workflows/nightly-build.yml | 261 | # or just use the updated pyproject.toml if it's shared (it's not). | COMMENT |
| MEDIUM⚡ | flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/components/opensearch_multimodal.py | 1992 | # Create a comprehensive map of model names to embedding objects | COMMENT |
| MEDIUM⚡ | flows/components/opensearch_multimodal.py | 1994 | # Also leverage available_models list from EmbeddingsWithModels | COMMENT |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/agent.py | 37 | "content": 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nY | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/config/config_manager.py | 189 | system_prompt: str = 'You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 1601 | "value": "You are the OpenRAG Agent. You answer questions using retrieval, reasoning, and tool use.\nYou | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM | src/tui/managers/container_manager.py | 948 | """Get resolved image names from compose files using docker/podman compose, with robust fallbacks.""" | STRING |
| LOW | src/services/document_service.py | 197 | # For context, we don't need to chunk - just return the full content | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 33 | // Step 2: Set models for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 41 | // Step 3: Ingest URL via chat | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 49 | // Step 4: Verify tool call arguments | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 58 | // Step 5: Verify ingestion succeeded (tool did not fail) | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 64 | // Step 6: Verify document is active in knowledge base | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 179 | // Step 1: Cleanup test document if it exists | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 187 | // Step 2: Set models for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 195 | // Step 3: Ingest URL via chat | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 201 | // Step 4: Verify tool call arguments | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 210 | // Step 5: Verify ingestion succeeded (tool did not fail) | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 216 | // Step 6: Delete the conversation | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 222 | // Step 7: Open a new chat and ask a question related to the ingested URL | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 229 | // Step 8: Verify the response contains relevant information from the ingested URL | COMMENT |
| LOW | frontend/tests/core/url_ingestion.spec.ts | 20 | // Step 1: Cleanup test document if it exists | COMMENT |
| LOW | frontend/tests/core/url_ingestion.spec.ts | 249 | // Step 9: Verify response does NOT contain "no relevant sources" message | COMMENT |
| LOW | frontend/tests/core/diverse-format-ingestion.spec.ts | 33 | // Step 1: Upload all files first (without verifying status yet) | COMMENT |
| LOW | frontend/tests/core/diverse-format-ingestion.spec.ts | 46 | // Step 2: After all uploads complete, verify each file's status becomes Active | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 51 | // Step 1: Clear all files from the folder if they exist in the KB | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 86 | // Step 2: Ingest the entire folder | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 98 | // Step 3: Verify all files are active (using ingested names) | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 171 | // Step 1: Clear existing files from knowledge base | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 206 | // Step 2: Upload combo folder | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 221 | // Step 3: Verify immediate toast message | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 233 | // Step 4: Wait for task completion | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 247 | // Step 5: Verify all files are active | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 37 | // Step 1: Cleanup test document if it exists | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 46 | // Step 2: Set embedding model for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 52 | // Step 3: Ingest the test document | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 60 | // Step 4: Wait for document to be indexed (Active status) | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 65 | // Step 5: Open the chunk viewer | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 70 | // Step 6: Test chunk search for multiple tokens | COMMENT |
| LOW | frontend/tests/core/chunk_search.spec.ts | 107 | // Step 7: Report results | COMMENT |
| LOW | frontend/tests/core/chunk_search.spec.ts | 118 | // Step 8: Assertions | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 32 | // Step 2: Set embedding model for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 38 | // Step 3: Ingest the test document | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 46 | // Step 4: Wait for document to be indexed (Active status) | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 51 | // Step 5: Search for the unique token | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 61 | // Step 6: Verify results | COMMENT |
| LOW | src/tui/managers/container_manager.py | 1632 | # Step 1: Stop all services first | COMMENT |
| LOW | src/tui/screens/welcome.py | 517 | # Step 1: Start container services first (to create the network) | COMMENT |
| LOW | src/tui/screens/welcome.py | 598 | # Step 1: Stop container services | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 33 | // Step 2: Set models for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 41 | // Step 3: Ingest URL via chat | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 49 | // Step 4: Verify tool call arguments | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 58 | // Step 5: Verify ingestion succeeded (tool did not fail) | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 64 | // Step 6: Verify document is active in knowledge base | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 179 | // Step 1: Cleanup test document if it exists | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 187 | // Step 2: Set models for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 195 | // Step 3: Ingest URL via chat | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 201 | // Step 4: Verify tool call arguments | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 210 | // Step 5: Verify ingestion succeeded (tool did not fail) | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 216 | // Step 6: Delete the conversation | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 222 | // Step 7: Open a new chat and ask a question related to the ingested URL | COMMENT |
| LOW⚡ | frontend/tests/core/url_ingestion.spec.ts | 229 | // Step 8: Verify the response contains relevant information from the ingested URL | COMMENT |
| LOW | frontend/tests/core/url_ingestion.spec.ts | 20 | // Step 1: Cleanup test document if it exists | COMMENT |
| LOW | frontend/tests/core/url_ingestion.spec.ts | 249 | // Step 9: Verify response does NOT contain "no relevant sources" message | COMMENT |
| LOW | frontend/tests/core/diverse-format-ingestion.spec.ts | 33 | // Step 1: Upload all files first (without verifying status yet) | COMMENT |
| LOW | frontend/tests/core/diverse-format-ingestion.spec.ts | 46 | // Step 2: After all uploads complete, verify each file's status becomes Active | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 51 | // Step 1: Clear all files from the folder if they exist in the KB | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 86 | // Step 2: Ingest the entire folder | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 98 | // Step 3: Verify all files are active (using ingested names) | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 171 | // Step 1: Clear existing files from knowledge base | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 206 | // Step 2: Upload combo folder | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 221 | // Step 3: Verify immediate toast message | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 233 | // Step 4: Wait for task completion | COMMENT |
| LOW | frontend/tests/core/bulk_document_ingestion.spec.ts | 247 | // Step 5: Verify all files are active | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 37 | // Step 1: Cleanup test document if it exists | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 46 | // Step 2: Set embedding model for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 52 | // Step 3: Ingest the test document | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 60 | // Step 4: Wait for document to be indexed (Active status) | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 65 | // Step 5: Open the chunk viewer | COMMENT |
| LOW⚡ | frontend/tests/core/chunk_search.spec.ts | 70 | // Step 6: Test chunk search for multiple tokens | COMMENT |
| LOW | frontend/tests/core/chunk_search.spec.ts | 107 | // Step 7: Report results | COMMENT |
| LOW | frontend/tests/core/chunk_search.spec.ts | 118 | // Step 8: Assertions | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 32 | // Step 2: Set embedding model for OpenAI | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 38 | // Step 3: Ingest the test document | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 46 | // Step 4: Wait for document to be indexed (Active status) | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 51 | // Step 5: Search for the unique token | COMMENT |
| LOW⚡ | frontend/tests/core/search.spec.ts | 61 | // Step 6: Verify results | COMMENT |
| LOW | src/tui/managers/container_manager.py | 1632 | # Step 1: Stop all services first | COMMENT |
| LOW | src/tui/screens/welcome.py | 517 | # Step 1: Start container services first (to create the network) | COMMENT |
| LOW | src/tui/screens/welcome.py | 598 | # Step 1: Stop container services | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/unit/test_env_manager.py | 215 | # Create the legacy file with deliberately permissive permissions. | COMMENT |
| MEDIUM | tests/unit/test_task_service.py | 204 | # Create a task with multiple files | COMMENT |
| MEDIUM | tests/unit/test_encryption.py | 41 | # Create an initial config manager with a temporary file | COMMENT |
| MEDIUM | tests/unit/api/test_settings_endpoints.py | 23 | # Create a body with an invalid preset | COMMENT |
| MEDIUM | tests/integration/core/test_api_endpoints.py | 213 | # Create a temporary markdown file to upload | COMMENT |
| MEDIUM⚡ | flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | flows/components/opensearch_multimodal.py | 1992 | # Create a comprehensive map of model names to embedding objects | COMMENT |
| MEDIUM | src/bootstrap.py | 6 | # This module is intended to be imported as the first line in entry points | COMMENT |
| MEDIUM | src/tui/main.py | 369 | self.docling_manager = DoclingManager() # Initialize singleton instance | STRING |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_url_mcp.json | 3632 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/ingestion_flow.json | 2711 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_agent.json | 2544 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM⚡ | src/tui/_assets/flows/openrag_nudges.json | 2347 | "value": "from __future__ import annotations\n\nimport copy\nimport json\nimport uuid\nfrom concurrent.f | CODE |
| MEDIUM | src/tui/screens/diagnostics.py | 173 | # Create a timestamped filename | COMMENT |
| MEDIUM | src/utils/embedding_fields.py | 168 | # Define the field mapping for both the vector field and the tracking field | COMMENT |
| MEDIUM | src/api/settings/helpers.py | 183 | # Create the filter document | COMMENT |
| MEDIUM | src/services/api_key_service.py | 37 | # Create the full key with prefix | COMMENT |
| MEDIUM | src/services/api_key_service.py | 113 | # Create a unique key_id | COMMENT |
| MEDIUM | src/services/api_key_service.py | 118 | # Create the document to store | COMMENT |
| MEDIUM | src/services/monitor_service.py | 57 | # Create the document-level monitor | COMMENT |
| MEDIUM | src/services/monitor_service.py | 119 | # Create the monitor | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 161 | # FastAPI handlers in these modules declare a Pydantic response model as | COMMENT |
| LOW | docker-compose.host-backend.yml | 1 | # docker-compose.host-backend.yml | COMMENT |
| LOW | frontend/app/knowledge/chunks/page.tsx | 101 | // setSelectedChunks((prevSelected) => { | COMMENT |
| LOW | frontend/tests/core/diverse-format-ingestion.spec.ts | 61 | // test.setTimeout(300000); | COMMENT |
| LOW | frontend/tests/core/diverse-format-ingestion.spec.ts | 81 | // await knowledge.fetchLatestDocs(); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 61 | // await knowledge.open(); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 81 | // logger.info(`📋 Verified task failed for 05_Automation-protected.pdf`); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 101 | // logger.info('Document is Active, waiting for indexing to complete...'); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 121 | COMMENT | |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 141 | // await chat.askQuestion(question); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 161 | // const responseForced = await chat.getLastResponse(TEST_CONFIG.timeouts.default); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 181 | // const filePath3M = path.join(process.cwd(), 'test-data', testDocument3M); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 201 | // const lowerResponse1 = response1.toLowerCase(); | COMMENT |
| LOW | frontend/tests/core/upload-and-query.spec.ts | 221 | // 'outside\\s+(the\\s+)?(scope|context|data|system|knowledge|coverage|dataset|available)', | COMMENT |
| LOW | frontend/tests/core/tasks-menu.spec.ts | 201 | result2.status === "Complete" || result2.status === "COMPLETED", | COMMENT |
| LOW | frontend/tests/core/tasks-menu.spec.ts | 221 | // await page.waitForTimeout(500); | COMMENT |
| LOW | frontend/tests/core/tasks-menu.spec.ts | 241 | // expect(isFailed).toBeTruthy(); | COMMENT |
| LOW | tests/__init__.py | 1 | # Test package | COMMENT |
| LOW | tests/integration/__init__.py | 1 | # Integration tests package | COMMENT |
| LOW | tests/integration/core/test_api_endpoints.py | 141 | # Pop these from sys.modules so the next `from main import ...` | COMMENT |
| LOW | docs/docusaurus.config.js | 161 | // Remove this to remove the "edit this page" links. | COMMENT |
| LOW | scripts/backend-entrypoint.sh | 1 | #!/bin/sh | COMMENT |
| LOW | .github/workflows/codeql.yml | 41 | # By default, queries listed here will override any specified in a config file. | COMMENT |
| LOW | .github/workflows/deploy-gh-pages.yml | 41 | # The GH actions bot is used by default if you didn't specify the two fields. | COMMENT |
| LOW | .github/workflows/react-doctor.yml | 41 | # sticky summary comment, inline review comments, and a commit status | COMMENT |
| LOW | kubernetes/helm/operator/values.yaml | 21 | # Specifies whether a service account should be created | COMMENT |
| LOW | kubernetes/operator/config/crd/kustomization.yaml | 1 | resources: | COMMENT |
| LOW | …onfig/samples/openrag_v1alpha1_openrag-kind-local.yaml | 1 | # OpenRAG sample for local kind/Colima clusters (typically 2 CPUs). | COMMENT |
| LOW | …/operator/config/samples/openrag_v1alpha1_openrag.yaml | 61 | # projectId: "" | COMMENT |
| LOW | …/operator/config/samples/openrag_v1alpha1_openrag.yaml | 81 | # resources: | COMMENT |
| LOW | …/operator/config/samples/openrag_v1alpha1_openrag.yaml | 101 | # annotations: | COMMENT |
| LOW | …/operator/config/samples/openrag_v1alpha1_openrag.yaml | 121 | # limits: | COMMENT |
| LOW | …/operator/config/samples/openrag_v1alpha1_openrag.yaml | 141 | # team: "ml-ops" | COMMENT |
| LOW | …s/operator/config/samples/kind-cluster-openrag-cr.yaml | 61 | # doclingComponents: | COMMENT |
| LOW | …s/operator/config/samples/kind-cluster-openrag-cr.yaml | 81 | # resources: | COMMENT |
| LOW | kubernetes/operator/internal/controller/env.go | 181 | } | COMMENT |
| LOW | …tes/operator/internal/controller/openrag_controller.go | 61 | Client: c, | COMMENT |
| LOW | …tes/operator/internal/controller/openrag_controller.go | 2521 | func mergeDeploymentAnnotations(customAnnotations map[string]string) map[string]string { | COMMENT |
| LOW | kubernetes/operator/hack/update-codegen.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 61 | // Labels are custom labels to add to the Deployment/StatefulSet object metadata. | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 81 | // +kubebuilder:validation:MaxProperties=64 | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 101 | // +optional | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 141 | // Merged with operator-managed labels and CommonResourceLabels from OpenRAGSpec. | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 161 | // SecretLabels are custom labels to add to component-managed Secrets (e.g., .env secrets). | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 221 | // WARNING: Do not change or delete after initial deployment - will break existing JWT tokens. | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 261 | // FlowsRef is the git branch name or commit SHA from which flow JSON files | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 321 | // +optional | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 341 | // +kubebuilder:validation:MaxProperties=64 | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 401 | // Storage configures a PVC for model cache and temporary files. | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 481 | // Password for Valkey authentication (optional). | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 541 | // Languages is a list of language codes for OCR (e.g., ["en", "de", "fr"]). | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 561 | Mode string `json:"mode,omitempty"` | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 581 | // +kubebuilder:default=4 | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 621 | // +kubebuilder:default=false | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 641 | // TargetMemoryUtilizationPercentage is the target average memory utilization. | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 681 | type OpenRAGSpec struct { | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 701 | // +optional | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 721 | // Useful for backup policies, monitoring configuration, and GitOps metadata. | COMMENT |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 741 | COMMENT | |
| LOW | kubernetes/operator/api/v1alpha1/openrag_types.go | 781 | Message string `json:"message,omitempty"` | COMMENT |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | enhancements/connectors/ibm_cos/support.py | 0 | resolve s3 credentials and build the connection config dict. resolution order for each credential: request body → enviro | STRING |
| HIGH | enhancements/connectors/azure_blob/support.py | 0 | resolve s3 credentials and build the connection config dict. resolution order for each credential: request body → enviro | STRING |
| HIGH | src/connectors/aws_s3/support.py | 0 | resolve s3 credentials and build the connection config dict. resolution order for each credential: request body → enviro | STRING |
| HIGH | enhancements/connectors/ibm_cos/connector.py | 0 | no-op: webhooks are not supported in this connector version. | STRING |
| HIGH | enhancements/connectors/azure_blob/connector.py | 0 | no-op: webhooks are not supported in this connector version. | STRING |
| HIGH | src/connectors/aws_s3/connector.py | 0 | no-op: webhooks are not supported in this connector version. | STRING |
| HIGH | src/tui/widgets/prune_options_modal.py | 0 | flowbackupwarningmodal { align: center middle; } #dialog { width: 70; height: auto; border: solid #3f3f46; background: # | STRING |
| HIGH | src/tui/widgets/upgrade_instructions_modal.py | 0 | flowbackupwarningmodal { align: center middle; } #dialog { width: 70; height: auto; border: solid #3f3f46; background: # | STRING |
| HIGH | src/tui/widgets/version_mismatch_warning_modal.py | 0 | flowbackupwarningmodal { align: center middle; } #dialog { width: 70; height: auto; border: solid #3f3f46; background: # | STRING |
| HIGH | src/tui/widgets/factory_reset_warning_modal.py | 0 | flowbackupwarningmodal { align: center middle; } #dialog { width: 70; height: auto; border: solid #3f3f46; background: # | STRING |
| HIGH | src/tui/widgets/flow_backup_warning_modal.py | 0 | flowbackupwarningmodal { align: center middle; } #dialog { width: 70; height: auto; border: solid #3f3f46; background: # | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/unit/test_shared_flag.py | 83 | """Critical DLS test: owner key must be absent, not null, for must_not-exists-owner clause.""" | STRING |
| HIGH⚡ | src/connectors/service.py | 307 | if (params.filename != null) { | CODE |
| HIGH⚡ | src/connectors/service.py | 310 | if (params.created_time != null) { | CODE |
| HIGH⚡ | src/connectors/service.py | 313 | if (params.modified_time != null) { | CODE |
| HIGH⚡ | src/connectors/service.py | 316 | if (params.metadata != null) { | CODE |
| HIGH | src/tui/managers/container_manager.py | 1287 | "rm -rf /work/* /work/.[!.]* 2>/dev/null; echo done", | CODE |
| HIGH | src/tui/managers/container_manager.py | 1348 | "rm -rf /work/* /work/.[!.]* 2>/dev/null; echo done", | CODE |
| HIGH | src/tui/utils/platform.py | 203 | status += "\nTo increase: podman machine stop && podman machine rm && podman machine init --memory 8192 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdks/python/openrag_sdk/documents.py | 30 | Ingest a document into the knowledge base. Args: file_path: Path to the file to ingest. | STRING |
| HIGH | sdks/python/openrag_sdk/documents.py | 106 | Wait for an ingestion task to complete. Args: task_id: The task ID to wait for. | STRING |
| HIGH | flows/components/opensearch_multimodal.py | 469 | Execute a raw OpenSearch query against the target index. Args: query (dict[str, Any]): The OpenSear | STRING |
| HIGH | flows/components/opensearch_multimodal.py | 575 | Get the embedding model name from component config or embedding object. Priority: deployment > model > model_id | STRING |
| HIGH | flows/components/opensearch_multimodal.py | 1927 | Perform multi-model hybrid search combining multiple vector similarities and keyword matching. This method exec | STRING |
| HIGH | src/utils/embedding_fields.py | 54 | Convert an embedding model name to a valid OpenSearch field suffix. Examples: - "text-embedding-3-smal | STRING |
| HIGH | src/utils/embedding_fields.py | 86 | Get the OpenSearch field name for storing embeddings from a specific model. Args: model_name: The embe | STRING |
| HIGH | src/utils/embedding_fields.py | 111 | Ensure that an embedding field for the specified model exists in the OpenSearch index. If the field doesn't exi | STRING |
| HIGH | src/services/task_service.py | 226 | Wrapper to add timeout protection to file processing Args: coro: Coroutine to execute with timeout | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | warm_up_docling.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/openrag_sdk/__init__.py | 73 | __all__ = [ | CODE |
| LOW | sdks/mcp/src/openrag_mcp/__init__.py | 6 | __all__ = ["main"] | CODE |
| LOW | scripts/connectors/azure/seed_azurite.py | 560 | def _update_blobs(svc: BlobServiceClient, name: str, blobs: dict[str, bytes]) -> None: | CODE |
| LOW | …ripts/test_scripts/sdk/python/checks/check_settings.py | 12 | async def update_roundtrip(ctx: Context) -> None: | CODE |
| LOW | enhancements/connectors/ibm_cos/__init__.py | 10 | __all__ = [ | CODE |
| LOW | enhancements/connectors/azure_blob/__init__.py | 11 | __all__ = [ | CODE |
| LOW | flows/components/mcp_component.py | 692 | async def _update_tool_config(self, build_config: dict, tool_name: str) -> None: | CODE |
| LOW | src/main.py | 48 | __all__ = [ | CODE |
| LOW | src/dependencies.py | 53 | __all__ = [ | CODE |
| LOW | src/connectors/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/connectors/onedrive/__init__.py | 4 | __all__ = ["OneDriveConnector", "OneDriveOAuth"] | CODE |
| LOW⚡ | src/connectors/onedrive/connector.py | 185 | def set_file_infos(self, file_infos: list[dict[str, Any]]) -> None: | CODE |
| LOW | src/connectors/onedrive/oauth.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/connectors/sharepoint/__init__.py | 4 | __all__ = ["SharePointConnector", "SharePointOAuth"] | CODE |
| LOW⚡ | src/connectors/sharepoint/connector.py | 198 | def set_file_infos(self, file_infos: list[dict[str, Any]]) -> None: | CODE |
| LOW | src/connectors/sharepoint/oauth.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/connectors/aws_s3/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/connectors/google_drive/__init__.py | 4 | __all__ = ["GoogleDriveConnector", "GoogleDriveOAuth"] | CODE |
| LOW⚡ | src/tui/screens/config.py | 650 | def _set_path(result) -> None: | CODE |
| LOW | src/tui/screens/config.py | 703 | def _update_langflow_username_visibility(self, password_value: str) -> None: | CODE |
| LOW⚡ | src/tui/screens/monitor.py | 851 | def _update_mode_row(self) -> None: | CODE |
| LOW⚡ | src/tui/screens/monitor.py | 876 | def _update_controls(self, services: list[ServiceInfo]) -> None: | CODE |
| LOW⚡ | src/tui/screens/monitor.py | 1093 | def _set_cursor_row(self, table: DataTable | None, row: int) -> None: | CODE |
| LOW | src/tui/screens/monitor.py | 914 | def _update_docling_controls(self) -> None: | CODE |
| LOW | src/tui/screens/welcome.py | 461 | def _update_default_button(self) -> None: | CODE |
| LOW⚡ | src/tui/widgets/command_modal.py | 365 | def _update_output(self, message: str, replace_last: bool = False) -> None: | CODE |
| LOW | src/tui/widgets/__init__.py | 5 | __all__ = ["FlowBackupWarningModal"] | CODE |
| LOW | src/utils/provider_health_cache.py | 93 | def set_and_release(key: str, value: dict) -> None: | CODE |
| LOW | src/utils/telemetry/client.py | 59 | def set_base_url(url: str) -> None: | CODE |
| LOW | src/utils/telemetry/__init__.py | 7 | __all__ = ["TelemetryClient", "Category", "MessageId"] | CODE |
| LOW | src/db/__init__.py | 15 | __all__ = [ | CODE |
| LOW | src/db/repositories/__init__.py | 16 | __all__ = [ | CODE |
| LOW | src/db/repositories/user_repo.py | 48 | async def update_last_login(self, user_id: str) -> None: | CODE |
| LOW | src/db/models/__init__.py | 20 | __all__ = [ | CODE |
| LOW | src/api/settings/__init__.py | 53 | __all__ = [ | CODE |
| LOW⚡ | src/services/auth_service.py | 15 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/test_settings_provider_removal_defaults.py | 36 | CODE | |
| LOW | flows/components/opensearch_multimodal.py | 974 | CODE | |
| LOW | src/connectors/service.py | 15 | CODE | |
| LOW | src/connectors/google_drive/connector.py | 1374 | CODE | |
| LOW | src/config/settings.py | 600 | CODE | |
| LOW | src/models/processors.py | 374 | CODE | |
| LOW | src/models/processors.py | 646 | CODE | |
| LOW | src/models/processors.py | 806 | CODE | |
| LOW | src/models/processors.py | 1321 | CODE | |
| LOW | src/api/files.py | 24 | CODE | |
| LOW | src/api/files.py | 63 | CODE | |
| LOW | src/api/langflow_files.py | 132 | CODE | |
| LOW | src/api/connectors.py | 2215 | CODE | |
| LOW | src/api/router.py | 25 | CODE | |
| LOW | src/api/v1/documents.py | 41 | CODE | |
| LOW | src/api/settings/endpoints.py | 815 | CODE | |
| LOW | src/services/file_service.py | 22 | CODE | |
| LOW | src/services/chat_service.py | 56 | CODE | |
| LOW | src/services/chat_service.py | 478 | CODE | |
| LOW | src/services/task_service.py | 281 | CODE | |
| LOW | src/services/langflow_file_service.py | 344 | CODE | |
| LOW | src/services/langflow_file_service.py | 881 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …end/app/settings/_components/watsonx-settings-form.tsx | 126 | placeholder="your-api-key" | CODE |
| HIGH | frontend/app/onboarding/_components/ibm-onboarding.tsx | 225 | placeholder="your-api-key" | CODE |
| HIGH | plugins/openrag/skills/sdk/SKILL.md | 84 | OPENRAG_API_KEY=your-api-key # Required if authentication is enabled | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.host-backend.yml | 19 | # Usage: | COMMENT |