Langflow is a powerful tool for building and deploying AI-powered agents and workflows.
This report summarizes scanner evidence for langflow-ai/langflow, a Python project with 155,469 GitHub stars. SynthScan examined 1,650,448 lines of code across 8465 source files, recording 39680 pattern matches distributed across 29 syntactic categories. The legacy adjusted pattern signal is 28.7 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 25268 finding(s).
Are imports declared and package/API names verified? 9474 finding(s).
Are wrappers, guards, and repeated structures necessary? 27447 finding(s).
Which changes need focused human review? 39680 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 39680 distinct pattern matches across 29 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 | docs/openapi/generate_openapi.py | 50 | def _collect_and_rewrite_defs(node: Any, collected: dict[str, Any]) -> None: | CODE |
| LOW⚡ | docs/static/files/Conversational_Notion_Agent.json | 3035 | "value": "from typing import Any, cast\n\nfrom langflow.custom import Component\nfrom langflow.inputs im | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 453 | "value": "import json\nfrom typing import Dict, Any, Union\nfrom markdown import markdown\nfrom bs4 impo | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 741 | "value": "import requests\nfrom typing import Dict, Union\nfrom pydantic import BaseModel, Field\nfrom l | CODE |
| LOW | docs/static/files/Meeting_Notes_Agent.json | 2096 | "value": "import json\nfrom typing import Dict, Any, Union\nfrom markdown import markdow | CODE |
| LOW | docs/static/files/Meeting_Notes_Agent.json | 2377 | "value": "import requests\nfrom typing import Dict, Union\nfrom pydantic import BaseMode | CODE |
| LOW | docs/static/files/AssemblyAI_Flow.json | 743 | "value": "import assemblyai as aai\n\nfrom langflow.custom import Component\nfrom langfl | CODE |
| LOW | docs/src/plugins/segment/data-attribute-tracking.js | 37 | function initializeDataAttributeTracking() { | CODE |
| LOW | docs/src/components/CopyPageButton.tsx | 118 | async function copyCurrentPageAsMarkdown(): Promise<boolean> { | CODE |
| LOW | docs/src/theme/SearchBar/index.js | 24 | function importDocSearchModalIfNeeded() { | CODE |
| LOW | docs/src/theme/SearchBar/index.js | 74 | function useResultsFooterComponent({ closeModal }) { | CODE |
| LOW | scripts/check_changes_filter.py | 76 | def get_changed_files_from_stdin() -> list[str]: | STRING |
| LOW | scripts/migrate_secret_key.py | 98 | def read_secret_key_from_file(config_dir: Path) -> str | None: | CODE |
| LOW | scripts/migrate_secret_key.py | 189 | def decrypt_sso_secret_with_key(envelope: str, key: str) -> str: | CODE |
| LOW | scripts/migrate_secret_key.py | 196 | def encrypt_sso_secret_with_key(plaintext: str, key: str) -> str: | CODE |
| LOW | scripts/build_component_index.py | 16 | async def _load_components_for_index() -> dict: | CODE |
| LOW | scripts/build_component_index.py | 35 | def _normalize_for_determinism(obj): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 82 | def test_main_and_base_return_identical_version_given_offset_histories(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 92 | def test_aligned_histories_increment_by_one(): | CODE |
| LOW⚡ | scripts/ci/test_pypi_nightly_tag.py | 104 | def test_first_ever_nightly_both_absent(): | CODE |
| LOW⚡ | scripts/ci/test_pypi_nightly_tag.py | 108 | def test_base_version_bump_resets_counter(): | CODE |
| LOW⚡ | scripts/ci/test_pypi_nightly_tag.py | 114 | def test_base_version_bump_with_some_new_series_releases(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 125 | def test_final_release_does_not_advance_counter(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 134 | def test_malformed_response_raises(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 146 | def test_higher_package_lookup_failure_aborts(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 154 | def test_network_error_raises(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 167 | def test_unparseable_version_string_is_skipped(): | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 171 | def test_invalid_build_type_raises(): | CODE |
| LOW | scripts/ci/test_update_lf_base_dependency.py | 44 | def test_pins_bare_and_extras_lfx_to_exact_dev(pyproject: Path) -> None: | CODE |
| LOW⚡ | scripts/ci/test_update_lf_base_dependency.py | 61 | def test_idempotent_on_already_pinned(pyproject: Path) -> None: | CODE |
| LOW⚡ | scripts/ci/test_update_lf_base_dependency.py | 69 | def test_raises_when_no_lfx_dependency(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | scripts/ci/test_update_lf_base_dependency.py | 77 | def test_pattern_skips_unrelated_packages(pyproject: Path) -> None: | CODE |
| LOW | scripts/ci/test_update_lf_base_dependency.py | 90 | def test_root_base_pins_preserve_each_optional_extra(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | scripts/ci/test_execution_principal_matrix.py | 15 | def _workflow_pull_request_paths() -> list[str]: | CODE |
| LOW⚡ | scripts/ci/test_execution_principal_matrix.py | 48 | def test_execution_principal_matrix_is_complete() -> None: | CODE |
| LOW⚡ | scripts/ci/test_execution_principal_matrix.py | 52 | def test_every_entrypoint_declares_each_principal_and_safety_dimension() -> None: | CODE |
| LOW⚡ | scripts/ci/test_execution_principal_matrix.py | 60 | def test_ci_workflow_watches_every_canonical_source_and_test_reference() -> None: | CODE |
| LOW⚡ | scripts/ci/test_execution_principal_matrix.py | 75 | def test_checker_rejects_a_missing_error_policy(tmp_path: Path) -> None: | CODE |
| LOW⚡ | scripts/ci/test_execution_principal_matrix.py | 84 | def test_checker_reports_missing_matrix_file(tmp_path: Path) -> None: | CODE |
| LOW⚡ | scripts/ci/test_execution_principal_matrix.py | 92 | def test_checker_reports_malformed_matrix_json(tmp_path: Path) -> None: | CODE |
| LOW | scripts/ci/test_execution_principal_matrix.py | 103 | def test_checker_rejects_generic_non_behavioral_test_references(tmp_path: Path) -> None: | CODE |
| LOW | scripts/ci/test_authz_endpoint_matrix.py | 20 | def test_authz_endpoint_matrix_matches_every_decorated_route() -> None: | CODE |
| LOW | scripts/ci/test_authz_endpoint_matrix.py | 25 | def test_authz_endpoint_matrix_has_required_persona_and_safety_dimensions() -> None: | CODE |
| LOW⚡ | scripts/ci/test_authz_endpoint_matrix.py | 38 | def test_authz_endpoint_matrix_accepts_every_canonical_action(action: str) -> None: | CODE |
| LOW⚡ | scripts/ci/test_authz_endpoint_matrix.py | 47 | def test_authz_endpoint_matrix_rejects_unknown_action() -> None: | CODE |
| LOW⚡ | scripts/ci/test_authz_endpoint_matrix.py | 56 | def test_authz_endpoint_matrix_rejects_a_new_unclassified_route(tmp_path: Path, monkeypatch) -> None: | CODE |
| LOW | scripts/ci/update_pyproject_combined.py | 15 | def update_projects_for_nightly(main_tag: str, base_tag: str, lfx_tag: str) -> None: | CODE |
| LOW | scripts/ci/test_database_template.py | 14 | def test_template_includes_wal_and_copies_have_independent_state(tmp_path): | CODE |
| LOW | scripts/ci/test_database_template.py | 36 | def test_missing_template_requires_real_initialization(tmp_path): | CODE |
| LOW | scripts/ci/update_bundle_prerelease_dependencies.py | 18 | def update_bundle_prerelease_dependencies(pyproject_path: Path, manifest_path: Path) -> int: | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 272 | def _ensure_not_behind_public_latest(package: str, version: str, lfx_version: str | None, client: IndexClient) -> None: | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 406 | def _pyproject_release_relevant(base_content: str | None, current_content: str) -> bool: | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 644 | def _restamped_lfx_requirement(requirement: str, expected: str) -> str: | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 714 | def _replace_manifest_version(content: str, version: str) -> str: | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 783 | def restamp_unpublished_bundles( | CODE |
| LOW | scripts/ci/update_component_index_version.py | 12 | def update_component_index_version(index_path: str | Path, version: str) -> None: | CODE |
| LOW⚡ | scripts/ci/test_release_workflow.py | 24 | def test_finalized_bundles_do_not_influence_shared_rc_number() -> None: | CODE |
| LOW⚡ | scripts/ci/test_release_workflow.py | 34 | def test_bundle_build_uses_one_content_aware_prerelease_plan() -> None: | CODE |
| LOW⚡ | scripts/ci/test_release_workflow.py | 44 | def test_standalone_bundle_workflow_uses_the_same_release_planner() -> None: | CODE |
| LOW⚡ | scripts/ci/test_release_workflow.py | 52 | def test_full_release_requires_and_consumes_the_aligned_base_artifact() -> None: | CODE |
| 22386 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/migrate/check_router_trust.py | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 66 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 105 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 107 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 163 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 165 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 393 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 395 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 558 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 560 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 605 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/check_router_trust.py | 607 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 773 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 775 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 1044 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 1046 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 1118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 1120 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 1228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 1230 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/migrate/port_bundle.py | 145 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 147 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 346 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 348 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 1546 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 1548 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 1580 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/migrate/port_bundle.py | 1582 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | scripts/gp/tests/test_gp_client.py | 12 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/gp/tests/test_gp_client.py | 14 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/gp/tests/test_gp_client.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/gp/tests/test_gp_client.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/gp/tests/test_gp_client.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/gp/tests/test_gp_client.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/gp/tests/test_gp_client.py | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/gp/tests/test_gp_client.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/gp/tests/test_gp_client.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/gp/tests/test_gp_client.py | 151 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 191 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 193 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 241 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 243 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 330 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 332 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 630 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 632 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 656 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 658 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 769 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 771 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 911 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 913 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 952 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 954 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 1142 | # =================================================================== | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 1144 | # =================================================================== | COMMENT |
| MEDIUM | src/lfx/tests/unit/test_flow_requirements.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/lfx/tests/unit/test_flow_requirements.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/lfx/tests/unit/test_flow_requirements.py | 91 | # =================================================================== | COMMENT |
| MEDIUM | src/lfx/tests/unit/test_flow_requirements.py | 93 | # =================================================================== | COMMENT |
| 2245 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docs/static/files/Conversational_Notion_Agent.json | 3030 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 429 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 448 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 468 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 489 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 584 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 600 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 620 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 640 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 736 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 752 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 772 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 867 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 883 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 903 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 923 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1018 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1037 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1131 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1150 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1166 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1263 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1282 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1302 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1318 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1338 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1434 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1453 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1469 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1490 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1607 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1629 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1650 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1666 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1688 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1710 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1727 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1749 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1771 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1788 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1887 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1910 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1929 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1949 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1969 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 1993 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2015 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2038 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2061 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2080 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2102 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2201 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2224 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2245 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2287 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2309 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2333 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2356 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2379 | "placeholder": "", | CODE |
| LOW | docs/static/files/Conversational_Notion_Agent.json | 2398 | "placeholder": "", | CODE |
| 5898 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/openapi/generate_openapi.py | 13 | CODE | |
| LOW | scripts/generate_migration.py | 3 | CODE | |
| LOW | scripts/generate_migration.py | 4 | CODE | |
| LOW | scripts/generate_migration.py | 5 | CODE | |
| LOW | scripts/generate_migration.py | 6 | CODE | |
| LOW | scripts/generate_migration.py | 7 | CODE | |
| LOW | scripts/generate_migration.py | 8 | CODE | |
| LOW | scripts/generate_migration.py | 9 | CODE | |
| LOW | scripts/generate_migration.py | 11 | CODE | |
| LOW | scripts/lint/check_logged_exception_text.py | 61 | CODE | |
| LOW | scripts/lint/check_component_env_writes.py | 33 | CODE | |
| LOW | scripts/ci/langflow_pre_release_tag.py | 3 | CODE | |
| LOW | scripts/ci/check_components_frozen.py | 19 | CODE | |
| LOW | scripts/ci/test_execution_principal_matrix.py | 1 | CODE | |
| LOW | scripts/ci/test_authz_endpoint_matrix.py | 1 | CODE | |
| LOW | scripts/ci/update_bundle_prerelease_dependencies.py | 3 | CODE | |
| LOW | scripts/ci/bundle_release_plan.py | 12 | CODE | |
| LOW | scripts/ci/update_component_index_version.py | 3 | CODE | |
| LOW | scripts/ci/test_release_workflow.py | 3 | CODE | |
| LOW | scripts/ci/install_release_wheels.py | 10 | CODE | |
| LOW | scripts/ci/test_bundle_release_plan.py | 5 | CODE | |
| LOW | scripts/ci/test_update_lfx_version.py | 3 | CODE | |
| LOW | scripts/ci/backend_test_metrics.py | 8 | CODE | |
| LOW | scripts/ci/check_authz_endpoint_matrix.py | 4 | CODE | |
| LOW | scripts/ci/manage_bundle_profiles.py | 3 | CODE | |
| LOW | scripts/ci/sync_bundle_lfx_pin.py | 42 | CODE | |
| LOW | scripts/ci/check_execution_principal_matrix.py | 4 | CODE | |
| LOW | scripts/ci/test_release_inventory.py | 1 | CODE | |
| LOW | scripts/ci/check_release_inventory.py | 3 | CODE | |
| LOW | scripts/ci/update_starter_projects.py | 6 | CODE | |
| LOW | scripts/ci/test_install_release_wheels.py | 3 | CODE | |
| LOW | scripts/ci/update_lfx_pre_release_dependency.py | 3 | CODE | |
| LOW | scripts/ci/test_bundle_profiles.py | 1 | CODE | |
| LOW | …ripts/ci/test_update_bundle_prerelease_dependencies.py | 3 | CODE | |
| LOW | scripts/ci/test_release_rc_number.py | 8 | CODE | |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 128 | CODE | |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 102 | CODE | |
| LOW | scripts/migrate/check_router_trust.py | 56 | CODE | |
| LOW | scripts/migrate/consolidate_bundles.py | 28 | CODE | |
| LOW | scripts/migrate/check_bare_names.py | 34 | CODE | |
| LOW | scripts/migrate/check_bundle_api_changelog.py | 29 | CODE | |
| LOW | scripts/migrate/port_bundle.py | 100 | CODE | |
| LOW | scripts/migrate/check_migration_append_only.py | 27 | CODE | |
| LOW | scripts/gp/check_backend_status.py | 12 | CODE | |
| LOW | scripts/gp/upload.py | 8 | CODE | |
| LOW | scripts/gp/download.py | 8 | CODE | |
| LOW | scripts/gp/bake_note_keys.py | 21 | CODE | |
| LOW | scripts/gp/extract_backend_strings.py | 26 | CODE | |
| LOW | scripts/a11y/a11y_scan.py | 5 | CODE | |
| LOW | src/lfx/tests/conftest.py | 44 | CODE | |
| LOW | src/lfx/tests/unit/test_flow_requirements.py | 3 | CODE | |
| LOW | src/lfx/tests/unit/test_db_span_path_redaction.py | 13 | CODE | |
| LOW | src/lfx/tests/unit/test_langflow_base_distribution.py | 3 | CODE | |
| LOW | src/lfx/tests/unit/test_fork.py | 3 | CODE | |
| LOW | src/lfx/tests/unit/test_preload.py | 8 | CODE | |
| LOW | src/lfx/tests/unit/test_check_components_frozen.py | 16 | CODE | |
| LOW | src/lfx/tests/unit/test_testing_plugin.py | 6 | CODE | |
| LOW | src/lfx/tests/unit/test_http_semconv_names.py | 14 | CODE | |
| LOW | src/lfx/tests/unit/test_logged_exception_guard.py | 12 | CODE | |
| LOW | src/lfx/tests/unit/test_process.py | 11 | CODE | |
| 3332 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | deploy/docker-compose.yml | 52 | # Define the port inside of the Docker service to use | COMMENT |
| MEDIUM⚡ | scripts/factory_restart_space.py | 40 | # Create an instance of the HfApi class to interact with the Hugging Face Hub. | COMMENT |
| MEDIUM⚡ | scripts/gcp/deploy_langflow_gcp_spot.sh | 29 | # Create a firewall rule to allow TCP port 7860 for all instances in the VPC | COMMENT |
| MEDIUM⚡ | scripts/gcp/deploy_langflow_gcp_spot.sh | 35 | # Create a firewall rule to allow IAP traffic | COMMENT |
| MEDIUM⚡ | scripts/gcp/deploy_langflow_gcp_spot.sh | 41 | # Define the startup script as a multiline Bash here-doc | COMMENT |
| MEDIUM | scripts/gcp/deploy_langflow_gcp_spot.sh | 56 | # Create a temporary file to store the startup script | COMMENT |
| MEDIUM | scripts/gcp/deploy_langflow_gcp_spot.sh | 60 | # Create the VM instance with the specified configuration and startup script | COMMENT |
| MEDIUM⚡ | scripts/gcp/deploy_langflow_gcp.sh | 29 | # Create a firewall rule to allow TCP port 7860 for all instances in the VPC | COMMENT |
| MEDIUM⚡ | scripts/gcp/deploy_langflow_gcp.sh | 35 | # Create a firewall rule to allow IAP traffic | COMMENT |
| MEDIUM⚡ | scripts/gcp/deploy_langflow_gcp.sh | 41 | # Define the startup script as a multiline Bash here-doc | COMMENT |
| MEDIUM | scripts/gcp/deploy_langflow_gcp.sh | 58 | # Create a temporary file to store the startup script | COMMENT |
| MEDIUM | scripts/gcp/deploy_langflow_gcp.sh | 62 | # Create the VM instance with the specified configuration and startup script | COMMENT |
| MEDIUM | .github/workflows/db-migration-validation.yml | 121 | # Create a witness flow (proves row persistence) | COMMENT |
| MEDIUM | .github/workflows/db-migration-validation.yml | 138 | # Create a witness credential (type=Credential stores encrypted value, exercises encrypted-column migrations) | COMMENT |
| MEDIUM | .github/workflows/typescript_test.yml | 273 | # Create the matrix combinations string | COMMENT |
| MEDIUM | .github/workflows/a11y-scan.yml | 32 | # Define the directory where Playwright browsers will be installed. | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_flow_requirements.py | 640 | assert "# This file contains" in txt | CODE |
| MEDIUM | src/lfx/tests/unit/test_component_index.py | 147 | # Create the directory structure | COMMENT |
| MEDIUM | src/lfx/tests/unit/memory/test_memory.py | 274 | # Create a larger batch to test performance | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/config/test_environments.py | 236 | # Create a git boundary so it doesn't walk up further | STRING |
| MEDIUM⚡ | src/lfx/tests/unit/graph/graph/test_utils.py | 224 | # Create a graph with 50 nodes that definitely contains cycles | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/graph/graph/test_utils.py | 351 | # Define the graph with multiple cycles | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/graph/graph/test_utils.py | 358 | # Define the graph with a single cycle | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/graph/test_utils.py | 857 | # Define a graph with the specified structure | COMMENT |
| MEDIUM | …/lfx/tests/unit/graph/graph/test_subgraph_isolation.py | 18 | # Create a simple graph: chat_input -> text_output -> chat_output | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/graph/graph/test_base.py | 329 | # Create a simple graph with two components and a flow_id | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/graph/test_base.py | 184 | # Create a simple linear graph structure: | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/graph/test_base.py | 362 | # Create a simple graph with two components and a flow_id | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/graph/test_base.py | 398 | # Create a simple graph with flow_id | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/graph/test_base.py | 421 | # Create a simple graph with flow_id | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/graph/vertex/test_vertex_base.py | 1125 | # Create a graph with a ChatInput component, which creates a vertex | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/vertex/test_vertex_base.py | 392 | # Create a mock graph | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/vertex/test_vertex_base.py | 1162 | # Create a graph with a ChatInput component, which creates a vertex | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/vertex/test_vertex_base.py | 1200 | # Create a graph with a ChatInput component, which creates a vertex | COMMENT |
| MEDIUM | src/lfx/tests/unit/graph/vertex/test_vertex_base.py | 1228 | # Create a graph with a ChatInput component, which creates a vertex | COMMENT |
| MEDIUM | src/lfx/tests/unit/utils/test_sandbox.py | 547 | # Create the loop, then freeze it so nothing submitted can execute. | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_lazy_imports.py | 119 | # Create a test script with a graph variable | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_lazy_imports.py | 137 | # Create a test script with get_graph function | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 64 | # Create a mock graph with vertices | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 83 | # Create a mock graph with vertices | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 118 | # Create a mock graph with vertices | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 151 | # Create a mock graph with vertices | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 178 | # Create a mock graph with vertices | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 201 | # Create a mock graph with vertices | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 231 | # Create a mock graph with invalid variable | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_validation.py | 256 | # Create a mock graph with invalid variable | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_serve_app.py | 1355 | # Create a mock result that mimics the real structure | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_serve_app.py | 1987 | # Create a real message output scenario | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_serve.py | 123 | # Create a temporary JSON flow file | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_serve.py | 144 | # Create a mock graph | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_serve.py | 198 | # Create a mock graph | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 130 | # Create a real graph with ChatInput and ChatOutput | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 150 | # Create a graph with only ChatOutput, no ChatInput | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 162 | # Create a graph with only ChatInput, no ChatOutput | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 334 | # Create a real Message object | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 342 | # Create a minimal mock for the vertex structure | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 368 | # Create a real Message object | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/cli/test_script_loader.py | 376 | # Create a minimal mock for the vertex structure | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_script_loader.py | 429 | # Create a real Message object | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_script_loader.py | 459 | # Create a real Message object | COMMENT |
| 518 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …on-examples/workflows-api/example-stream-agui-parse.py | 0 | prefer calculator tool output, then the last number in the assistant reply. | STRING |
| HIGH | …on-examples/workflows-api/example-stream-agui-parse.py | 0 | prefer calculator tool output, then the last number in the assistant reply. | STRING |
| HIGH | …on-examples/workflows-api/example-stream-agui-parse.py | 0 | prefer calculator tool output, then the last number in the assistant reply. | STRING |
| HIGH | …on-examples/workflows-api/example-stream-agui-parse.py | 0 | stream one ag-ui run; return assistant text and tool results. | STRING |
| HIGH | …on-examples/workflows-api/example-stream-agui-parse.py | 0 | stream one ag-ui run; return assistant text and tool results. | STRING |
| HIGH | …on-examples/workflows-api/example-stream-agui-parse.py | 0 | stream one ag-ui run; return assistant text and tool results. | STRING |
| HIGH | scripts/test_validator.py | 0 | from alembic import op import sqlalchemy as sa def upgrade(): bind = op.get_bind() inspector = sa.inspect(bind) columns | STRING |
| HIGH | …backend/tests/unit/alembic/test_existing_migrations.py | 0 | from alembic import op import sqlalchemy as sa def upgrade(): bind = op.get_bind() inspector = sa.inspect(bind) columns | STRING |
| HIGH | …backend/tests/unit/alembic/test_migration_validator.py | 0 | from alembic import op import sqlalchemy as sa def upgrade(): bind = op.get_bind() inspector = sa.inspect(bind) columns | STRING |
| HIGH | src/lfx/tests/unit/test_propose_field_edit.py | 0 | \ name: updated flow nodes: a: chatinput b: languagemodelcomponent c: chatoutput edges: a.message -> b.input_value b.tex | STRING |
| HIGH | src/lfx/tests/unit/test_build_flow_from_spec.py | 0 | \ name: updated flow nodes: a: chatinput b: languagemodelcomponent c: chatoutput edges: a.message -> b.input_value b.tex | STRING |
| HIGH | src/backend/tests/unit/api/v1/test_mcp_client_server.py | 0 | \ name: updated flow nodes: a: chatinput b: languagemodelcomponent c: chatoutput edges: a.message -> b.input_value b.tex | STRING |
| HIGH | src/lfx/tests/unit/extension/migration/test_rewrite.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …/integration/extension/test_pilot_nextplaid_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_exa_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …integration/extension/test_pilot_duckduckgo_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …sts/integration/extension/test_pilot_paddle_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …ests/integration/extension/test_pilot_arxiv_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_ibm_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …sts/integration/extension/test_pilot_oracle_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …/integration/extension/test_pilot_firecrawl_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | …ntegration/extension/test_pilot_empiriolabs_upgrade.py | 0 | build a minimal saved-flow node skeleton for testing. | STRING |
| HIGH | src/lfx/tests/unit/utils/test_ssrf_requests.py | 0 | socket.getaddrinfo stub: hostnames resolve to a public ip, literal ips to themselves. | STRING |
| HIGH | …ts/unit/components/models_and_agents/test_a2a_agent.py | 0 | socket.getaddrinfo stub: hostnames resolve to a public ip, literal ips to themselves. | STRING |
| HIGH | src/backend/tests/unit/components/tools/test_searxng.py | 0 | socket.getaddrinfo stub: hostnames resolve to a public ip, literal ips to themselves. | STRING |
| HIGH | …/backend/tests/unit/components/data_source/test_rss.py | 0 | socket.getaddrinfo stub: hostnames resolve to a public ip, literal ips to themselves. | STRING |
| HIGH | …unit/components/langchain_utilities/test_json_agent.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …/unit/components/langchain_utilities/test_csv_agent.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | src/backend/tests/base.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …nit/components/models_and_agents/test_mcp_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …ponents/embeddings/test_ollama_embeddings_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …unit/components/processing/test_save_file_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …ponents/processing/test_data_to_dataframe_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …nit/components/processing/test_split_text_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …nts/vectorstores/test_chroma_vector_store_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …sts/unit/components/vectorstores/test_mongodb_atlas.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …t/components/bundles/chroma/test_local_db_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …mponents/bundles/elastic/test_opensearch_multimodal.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | …s/bundles/youtube/test_youtube_transcript_component.py | 0 | return the file names mapping for different versions. | STRING |
| HIGH | src/lfx/tests/unit/base/data/test_storage_utils.py | 0 | test getting size of non-existent file raises filenotfounderror. | STRING |
| HIGH | …ts/unit/services/storage/test_local_storage_service.py | 0 | test getting size of non-existent file raises filenotfounderror. | STRING |
| HIGH | …d/tests/integration/storage/test_s3_storage_service.py | 0 | test getting size of non-existent file raises filenotfounderror. | STRING |
| HIGH | …/integration/extension/test_pilot_nextplaid_upgrade.py | 0 | wrap nodes in the canonical langflow flow envelope. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_exa_upgrade.py | 0 | wrap nodes in the canonical langflow flow envelope. | STRING |
| HIGH | …integration/extension/test_pilot_duckduckgo_upgrade.py | 0 | wrap nodes in the canonical langflow flow envelope. | STRING |
| HIGH | …ests/integration/extension/test_pilot_arxiv_upgrade.py | 0 | wrap nodes in the canonical langflow flow envelope. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_ibm_upgrade.py | 0 | wrap nodes in the canonical langflow flow envelope. | STRING |
| HIGH | …sts/integration/extension/test_pilot_oracle_upgrade.py | 0 | wrap nodes in the canonical langflow flow envelope. | STRING |
| HIGH | …/integration/extension/test_pilot_nextplaid_upgrade.py | 0 | a pre-extraction flow saved with the dotted import path upgrades cleanly. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_exa_upgrade.py | 0 | a pre-extraction flow saved with the dotted import path upgrades cleanly. | STRING |
| HIGH | …ests/integration/extension/test_pilot_arxiv_upgrade.py | 0 | a pre-extraction flow saved with the dotted import path upgrades cleanly. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_ibm_upgrade.py | 0 | a pre-extraction flow saved with the dotted import path upgrades cleanly. | STRING |
| HIGH | …sts/integration/extension/test_pilot_oracle_upgrade.py | 0 | a pre-extraction flow saved with the dotted import path upgrades cleanly. | STRING |
| HIGH | …/integration/extension/test_pilot_nextplaid_upgrade.py | 0 | package-level import-path form (re-exported by ``__init__.py``) also upgrades. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_exa_upgrade.py | 0 | package-level import-path form (re-exported by ``__init__.py``) also upgrades. | STRING |
| HIGH | …ests/integration/extension/test_pilot_arxiv_upgrade.py | 0 | package-level import-path form (re-exported by ``__init__.py``) also upgrades. | STRING |
| HIGH | …/tests/integration/extension/test_pilot_ibm_upgrade.py | 0 | package-level import-path form (re-exported by ``__init__.py``) also upgrades. | STRING |
| HIGH | …sts/integration/extension/test_pilot_oracle_upgrade.py | 0 | package-level import-path form (re-exported by ``__init__.py``) also upgrades. | STRING |
| HIGH | …/integration/extension/test_pilot_nextplaid_upgrade.py | 0 | ``importlib.metadata`` can find ``extension.json`` for the installed dist. | STRING |
| HIGH | …sts/integration/extension/test_pilot_cohere_upgrade.py | 0 | ``importlib.metadata`` can find ``extension.json`` for the installed dist. | STRING |
| 260 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ls/backend-code-review/references/architecture-rule.md | 200 | print(f"Error: {e}") | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 20 | except Exception as exc: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 26 | except Exception: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 20 | except Exception as exc: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 26 | except Exception: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 20 | except Exception as exc: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 26 | except Exception: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 20 | except Exception as exc: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 26 | except Exception: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 20 | except Exception as exc: | CODE |
| LOW | …dditional-configuration-for-openai-client-libraries.py | 26 | except Exception: | CODE |
| LOW | scripts/generate_migration.py | 247 | except Exception as e: | STRING |
| LOW | scripts/test-api-examples-local.sh | 232 | except Exception: | CODE |
| LOW | scripts/test-api-examples-local.sh | 242 | except Exception as exc: | CODE |
| MEDIUM | scripts/check_changes_filter.py | 161 | print(f"Error: Filter file not found at {filter_file}") | CODE |
| MEDIUM | scripts/migrate_secret_key.py | 332 | print("Error: Could not find current secret key.") | CODE |
| MEDIUM | scripts/migrate_secret_key.py | 346 | print("Error: Old and new secret keys are the same") | CODE |
| MEDIUM | scripts/migrate_secret_key.py | 589 | print("Error: Could not determine database URL.") | STRING |
| LOW | scripts/build_component_index.py | 91 | except Exception as e: | CODE |
| LOW | scripts/build_component_index.py | 173 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | scripts/check_deprecated_imports.py | 64 | except Exception as e: # noqa: BLE001 | CODE |
| MEDIUM | scripts/check_deprecated_imports.py | 85 | print(f"Error: Components directory not found at {lfx_components}", file=sys.stderr) | CODE |
| LOW | scripts/check_deprecated_imports.py | 105 | except Exception as e: # noqa: BLE001 | CODE |
| MEDIUM | scripts/check_deprecated_imports.py | 107 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | scripts/ci/test_pypi_nightly_tag.py | 183 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 777 | except Exception: | CODE |
| LOW | scripts/ci/bundle_release_plan.py | 831 | except Exception: | CODE |
| LOW | scripts/ci/test_langflow_pre_release_tag.py | 61 | except Exception as exc: # noqa: BLE001 | CODE |
| MEDIUM | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 640 | def _run_list_types(self) -> tuple[str, str, Any | None]: | CODE |
| MEDIUM | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 660 | def _run_list_llms(self) -> tuple[str, str, Any | None]: | CODE |
| MEDIUM | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 811 | def _run_teardown(self) -> tuple[str, str, Any | None]: | CODE |
| LOW⚡ | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 1686 | except Exception: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 467 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 495 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 515 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 549 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 582 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 629 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 655 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 675 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 698 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 728 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 758 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 782 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 806 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 826 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 846 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 875 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 895 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 935 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW⚡ | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 309 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW⚡ | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 315 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW⚡ | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 321 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW⚡ | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1769 | except Exception: # noqa: BLE001 | CODE |
| LOW⚡ | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1973 | except Exception as exc: | CODE |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 994 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1632 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1648 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1697 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1719 | except Exception as exc: # noqa: BLE001 | CODE |
| 1560 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ls/backend-code-review/references/architecture-rule.md | 176 | Convert timestamp to standardized string format. Args: timestamp: Input timestamp as datetime objec | STRING |
| HIGH | …tests/integration/cli/test_simple_agent_integration.py | 77 | Parse JSON from command output, searching in reverse if direct parsing fails. Args: output: The command out | STRING |
| HIGH | src/lfx/src/lfx/extension/reload.py | 229 | Reload one Bundle into ``registry`` via the five-stage atomic swap. Args: registry: The live :class:`Bundle | STRING |
| HIGH | src/lfx/src/lfx/extension/migration/rewrite.py | 421 | Rewrite legacy component references in ``payload`` in place. Args: payload: The flow payload as produced by | STRING |
| HIGH | src/lfx/src/lfx/memory/stubs.py | 22 | Store a message in the memory. Args: message (Message): The message to store. flow_id (Optional[str | STRING |
| HIGH | src/lfx/src/lfx/memory/stubs.py | 111 | DEPRECATED: Stores a message in the memory. DEPRECATED: Use `astore_message` instead. Args: message (M | STRING |
| HIGH | src/lfx/src/lfx/memory/stubs.py | 132 | Update stored messages. Args: messages: Message or list of messages to update. Returns: List[M | STRING |
| HIGH | src/lfx/src/lfx/graph/graph/state_model.py | 12 | Create a Pydantic state model from a graph representation. This function generates a Pydantic model that represents | STRING |
| HIGH | src/lfx/src/lfx/graph/graph/utils.py | 819 | Sorts the vertices so that chat inputs come first in the layers. Only one chat input is allowed in the entire graph | STRING |
| HIGH | src/lfx/src/lfx/graph/graph/base.py | 2345 | Builds a vertex in the graph. Args: vertex_id (str): The ID of the vertex to build. get | STRING |
| HIGH | src/lfx/src/lfx/graph/state/model.py | 43 | Builds an output getter function for a given method in a graph component. This function creates a new callable that | STRING |
| HIGH | src/lfx/src/lfx/graph/state/model.py | 101 | Build an output setter function for a given method in a graph component. This function creates a new callable that, | STRING |
| HIGH | src/lfx/src/lfx/graph/state/model.py | 149 | Create a dynamic Pydantic state model based on the provided keyword arguments. This function generates a Pydantic m | STRING |
| HIGH | src/lfx/src/lfx/utils/ssrf_requests.py | 207 | Perform a GET request with SSRF validation on the initial URL and every redirect hop. Automatic redirect following | STRING |
| HIGH | src/lfx/src/lfx/utils/python_repl_security.py | 284 | Import an allow-listed module and return ``(module_name, sandbox-safe proxy)``. Args: name: Dotted module n | STRING |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 236 | Resolve a hostname to its IP addresses. Args: hostname: Hostname to resolve Returns: list[str] | STRING |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 289 | Validate that hostname exists in the URL. Args: hostname: Hostname to validate (may be None) Returns: | STRING |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 307 | Validate a direct IP address in the URL. Args: hostname: Hostname that may be an IP address Returns: | STRING |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 597 | Validate a connector URL and return IPs for DNS-pinned HTTP clients. This applies the same connector policy as :fun | STRING |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 1019 | Validate URL for SSRF and return validated IP addresses for DNS pinning. This function is the core of DNS pinning-b | STRING |
| HIGH | src/lfx/src/lfx/utils/file_path_security.py | 182 | Split a ``"<namespace>/<file_name>"`` storage key and verify the caller may address it. Storage keys are the intern | STRING |
| HIGH | src/lfx/src/lfx/utils/file_path_security.py | 286 | Ensure a local path is inside the current user/flow storage scope when restricted. Symlinks are resolved before the | STRING |
| HIGH | src/lfx/src/lfx/utils/mustache_security.py | 64 | Safely render a mustache template with only simple variable substitution. This function performs a single-pass repl | STRING |
| HIGH | src/lfx/src/lfx/utils/helpers.py | 15 | Get the MIME type of a file based on its extension. Args: file_path: Path to the file Returns: | STRING |
| HIGH | src/lfx/src/lfx/utils/image.py | 16 | Convert an image file to a base64 encoded string. Handles both local files and S3 storage paths. Args: | STRING |
| HIGH | src/lfx/src/lfx/utils/image.py | 53 | Create a data URL from an image file. Args: image_path: Path to the image file (local or S3 path like "flow | STRING |
| HIGH | src/lfx/src/lfx/utils/image.py | 80 | Create a content dictionary for multimodal inputs from an image file. Args: image_path: Path to the image f | STRING |
| HIGH | src/lfx/src/lfx/cli/serve_app.py | 555 | Consumes events from a queue and yields them to the client while tracking timing metrics. This coroutine continuous | STRING |
| HIGH | src/lfx/src/lfx/cli/common.py | 228 | Download a Python script from a URL and save it to a temporary file. Args: url: URL to download the script | STRING |
| HIGH | src/lfx/src/lfx/cli/common.py | 279 | Validate script path or URL and return file extension and resolved path. Args: script_path: Path to the scr | STRING |
| HIGH | src/lfx/src/lfx/cli/common.py | 322 | Load a graph from a Python script or JSON file. Args: script_path: Path to the script file file_ext | STRING |
| HIGH | src/lfx/src/lfx/cli/common.py | 397 | Execute a graph and capture output. Args: graph: Graph object to execute input_value: Input value t | STRING |
| HIGH | src/lfx/src/lfx/schema/validators.py | 25 | Convert timestamp to standardized string format. Handles multiple input formats and ensures consistent UTC timezone | STRING |
| HIGH | src/lfx/src/lfx/schema/validators.py | 60 | Convert timestamp to datetime object. Handles multiple input formats and ensures consistent UTC timezone output. | STRING |
| HIGH | src/lfx/src/lfx/schema/validators.py | 89 | Convert timestamp to string format including fractional seconds. Handles multiple input formats and ensures consist | STRING |
| HIGH | src/lfx/src/lfx/schema/dotdict.py | 17 | Override dot access to behave like dictionary lookup. Automatically convert nested dicts to dotdicts. Args: | STRING |
| HIGH | src/lfx/src/lfx/components/data_source/url.py | 247 | Ensures the given string is a valid URL and returns validated IPs for DNS pinning. Args: url: The U | STRING |
| HIGH | …fx/src/lfx/components/agentics/helpers/model_config.py | 16 | Validate and extract model name and provider from component input. Ensures the model selection is properly formatte | STRING |
| HIGH | …c/lfx/src/lfx/components/agentics/helpers/llm_setup.py | 23 | Prepare and configure an LLM instance from component settings. Extracts model selection, validates configuration, r | STRING |
| HIGH | …lfx/src/lfx/components/agentics/helpers/llm_factory.py | 35 | Create and configure an LLM instance for the specified provider. Args: provider: The LLM provider name (e.g | STRING |
| HIGH | …x/components/files_ingestion/file_content_retriever.py | 498 | Retrieve file content as text. Args: file_path: The full file path as a string (e.g., '/path/to/fil | STRING |
| HIGH | …x/components/files_ingestion/file_content_retriever.py | 543 | Retrieve file content as a DataFrame for tabular data files. Args: file_path: The full file path as | STRING |
| HIGH | src/lfx/src/lfx/load/utils.py | 12 | Upload a file to Langflow and return the file path. The upload endpoint now requires authentication (see Langflow | STRING |
| HIGH | src/lfx/src/lfx/load/utils.py | 56 | Upload a file to Langflow and return the file path. Args: file_path (str): The path to the file to be uploa | STRING |
| HIGH | src/lfx/src/lfx/load/load.py | 33 | Load a flow graph from a JSON file or a JSON object. Args: flow (Union[Path, str, dict]): The flow to load. | STRING |
| HIGH | src/lfx/src/lfx/load/load.py | 110 | Load a flow graph from a JSON file or a JSON object. Args: flow (Union[Path, str, dict]): The flow to load. | STRING |
| HIGH | src/lfx/src/lfx/workflow/end_user_identity.py | 137 | Resolve the end-user identity for one serving request. Args: header_name: Configured trusted-header name, o | STRING |
| HIGH | src/lfx/src/lfx/run/base.py | 219 | Execute a Langflow graph script or JSON flow and return the result. This function analyzes and executes either a Py | STRING |
| HIGH | src/lfx/src/lfx/custom/validate.py | 259 | Dynamically create a class from a string of code and a specified class name. Args: code: String containing | STRING |
| HIGH | src/lfx/src/lfx/custom/validate.py | 531 | Prepares the global scope with necessary imports from the provided code module. Args: module: AST parsed mo | STRING |
| HIGH | src/lfx/src/lfx/custom/validate.py | 746 | Extract the name of the first Component subclass found in the code. Args: code (str): The source code to pa | STRING |
| HIGH | src/lfx/src/lfx/custom/utils.py | 44 | Generate a hash of the component source code. Args: source_code: The source code string modname: Th | STRING |
| HIGH | …fx/src/lfx/custom/custom_component/custom_component.py | 303 | Converts input data into a list of Data objects. Args: data (Any): The input data to be converted. | STRING |
| HIGH | src/lfx/src/lfx/custom/custom_component/component.py | 550 | Connects the component to other components or sets parameters and attributes. Args: **kwargs: Keywo | STRING |
| HIGH | src/lfx/src/lfx/custom/custom_component/component.py | 593 | Retrieves the value of the input with the specified name. Args: name (str): The name of the input. | STRING |
| HIGH | src/lfx/src/lfx/custom/custom_component/component.py | 610 | Retrieves the output with the specified name. Args: name (str): The name of the output to retrieve. | STRING |
| HIGH | src/lfx/src/lfx/custom/custom_component/component.py | 642 | Maps the given list of outputs to the component. Args: outputs (List[Output]): The list of outputs | STRING |
| HIGH | src/lfx/src/lfx/custom/custom_component/component.py | 836 | Find the output method from the given component and input name. Find the output method from the given component | STRING |
| HIGH | src/lfx/src/lfx/custom/custom_component/component.py | 2030 | Send a message with optional database update control. This is the central method for sending messages in Langfl | STRING |
| HIGH | src/lfx/src/lfx/helpers/flow.py | 94 | Lists flows for the given user and in the same folder as the specified flow. Retrieves all flows belonging to the g | STRING |
| 119 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/ci/manage_bundle_profiles.py | 153 | except ValueError: | CODE |
| HIGH | scripts/ci/manage_bundle_profiles.py | 163 | except ValueError: | CODE |
| HIGH | src/lfx/tests/conftest.py | 62 | except ImportError: | CODE |
| HIGH | …tests/unit/cli/test_serve_env_isolation_integration.py | 137 | except (urllib.error.URLError, ConnectionError, TimeoutError, OSError): | CODE |
| HIGH | …li/test_run_starter_projects_backward_compatibility.py | 188 | except json_module.JSONDecodeError: | CODE |
| HIGH | …fx/tests/unit/custom/component/test_dynamic_imports.py | 188 | except AttributeError: | CODE |
| HIGH | …x/tests/unit/custom/custom_component/test_component.py | 19 | except ImportError: | CODE |
| HIGH | …tests/integration/cli/test_simple_agent_integration.py | 368 | except (ValueError, OSError): | CODE |
| HIGH | src/lfx/src/lfx/extension/loader/_plugins.py | 443 | except (ValueError, ImportError, AttributeError): | CODE |
| HIGH | src/lfx/src/lfx/graph/utils.py | 203 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/graph/utils.py | 224 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/graph/flow_builder/spec.py | 51 | except ValueError: | CODE |
| HIGH | src/lfx/src/lfx/graph/flow_builder/spec.py | 55 | except ValueError: | CODE |
| HIGH | src/lfx/src/lfx/graph/flow_builder/component.py | 229 | except json.JSONDecodeError: | CODE |
| HIGH | src/lfx/src/lfx/template/utils.py | 144 | except (ValueError, TypeError): | CODE |
| HIGH | src/lfx/src/lfx/utils/request_utils.py | 16 | except (AttributeError, TypeError): | CODE |
| HIGH | src/lfx/src/lfx/utils/util.py | 40 | except (FileNotFoundError, PermissionError): | CODE |
| HIGH | src/lfx/src/lfx/utils/util.py | 113 | except (FileNotFoundError, PermissionError, IndexError, ValueError): | CODE |
| HIGH | src/lfx/src/lfx/utils/util.py | 70 | except socket.gaierror: | CODE |
| HIGH | src/lfx/src/lfx/utils/util.py | 78 | except socket.gaierror: | CODE |
| HIGH | src/lfx/src/lfx/utils/util.py | 86 | except socket.gaierror: | CODE |
| HIGH | src/lfx/src/lfx/utils/util.py | 94 | except socket.gaierror: | CODE |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 176 | except (ValueError, ipaddress.AddressValueError): | CODE |
| HIGH | src/lfx/src/lfx/utils/ssrf_protection.py | 1128 | except ValueError: | CODE |
| HIGH | src/lfx/src/lfx/utils/langflow_utils.py | 44 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/utils/data_structure.py | 52 | except (json.JSONDecodeError, TypeError): | CODE |
| HIGH | src/lfx/src/lfx/mcp/flow_builder_tools/run_tools.py | 482 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/cli/common.py | 816 | except (OSError, SyntaxError, UnicodeDecodeError): | CODE |
| HIGH | src/lfx/src/lfx/cli/push.py | 151 | except LangflowNotFoundError: | CODE |
| HIGH | src/lfx/src/lfx/schema/message.py | 515 | except AttributeError: | CODE |
| HIGH | src/lfx/src/lfx/components/models_and_agents/agent.py | 381 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/components/models_and_agents/agent.py | 507 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/components/models_and_agents/agent.py | 820 | except (AttributeError, TypeError, ValueError, KeyError, ImportError): | CODE |
| HIGH | …fx/src/lfx/components/files_and_knowledge/save_file.py | 379 | except (json.JSONDecodeError, ValueError): | CODE |
| HIGH | src/lfx/src/lfx/components/files_and_knowledge/file.py | 66 | except ProcessLookupError: | CODE |
| HIGH | src/lfx/src/lfx/components/files_and_knowledge/file.py | 431 | except _FileToolCancelledError: | CODE |
| HIGH | src/lfx/src/lfx/components/files_and_knowledge/file.py | 433 | except asyncio.TimeoutError: | CODE |
| HIGH | src/lfx/src/lfx/components/processing/converter.py | 113 | except (json.JSONDecodeError, ValueError): | CODE |
| HIGH | …/lfx/src/lfx/components/llm_operations/llm_selector.py | 160 | except IndexError: | CODE |
| HIGH | src/lfx/src/lfx/log/logger.py | 1233 | except (ValueError, IndexError): | CODE |
| HIGH | src/lfx/src/lfx/custom/validate.py | 425 | except AttributeError: | CODE |
| HIGH | src/lfx/src/lfx/custom/validate.py | 431 | except ModuleNotFoundError: | CODE |
| HIGH | src/lfx/src/lfx/custom/annotation_validation.py | 967 | except (AttributeError, TypeError): | CODE |
| HIGH | …/lfx/src/lfx/custom/custom_component/base_component.py | 51 | except (KeyError, AttributeError): | CODE |
| HIGH | src/lfx/src/lfx/base/agents/altk_tool_wrappers.py | 237 | except (AttributeError, KeyError, TypeError): | CODE |
| HIGH | src/lfx/src/lfx/base/agents/altk_tool_wrappers.py | 261 | except (AttributeError, KeyError, TypeError): | CODE |
| HIGH | src/lfx/src/lfx/base/mcp/util.py | 951 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_utils.py | 811 | except KeyError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 214 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 229 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 244 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 259 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 274 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 289 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 304 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 319 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 334 | except ImportError: | CODE |
| HIGH | src/lfx/src/lfx/base/models/model_input_constants.py | 349 | except ImportError: | CODE |
| HIGH | …fx/src/lfx/base/models/unified_models/instantiation.py | 159 | except ImportError: | CODE |
| HIGH | …fx/src/lfx/base/models/unified_models/instantiation.py | 357 | except (TypeError, ValueError): | CODE |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/migrate_secret_key.py | 233 | CODE | |
| LOW | scripts/migrate_secret_key.py | 307 | CODE | |
| LOW | scripts/check_deprecated_imports.py | 19 | CODE | |
| LOW | scripts/lint/check_component_env_writes.py | 86 | CODE | |
| LOW | scripts/lint/check_component_env_writes.py | 141 | CODE | |
| LOW | scripts/ci/test_execution_principal_matrix.py | 28 | CODE | |
| LOW | scripts/ci/bundle_release_plan.py | 721 | CODE | |
| LOW | scripts/ci/bundle_release_plan.py | 1185 | CODE | |
| LOW | scripts/ci/manage_bundle_profiles.py | 105 | CODE | |
| LOW | scripts/ci/manage_bundle_profiles.py | 367 | CODE | |
| LOW | scripts/ci/manage_bundle_profiles.py | 396 | CODE | |
| LOW | scripts/ci/manage_bundle_profiles.py | 468 | CODE | |
| LOW | …ts/e2e_deployment_tests/watsonx_orchestrate/adapter.py | 3279 | CODE | |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 887 | CODE | |
| LOW | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 975 | CODE | |
| LOW | scripts/migrate/check_router_trust.py | 300 | CODE | |
| LOW | scripts/migrate/check_router_trust.py | 398 | CODE | |
| LOW | scripts/migrate/check_router_trust.py | 520 | CODE | |
| LOW | scripts/migrate/consolidate_bundles.py | 374 | CODE | |
| LOW | scripts/migrate/port_bundle.py | 660 | CODE | |
| LOW | scripts/migrate/port_bundle.py | 778 | CODE | |
| LOW | scripts/migrate/port_bundle.py | 1182 | CODE | |
| LOW | scripts/gp/download.py | 37 | CODE | |
| LOW | scripts/gp/extract_backend_strings.py | 39 | CODE | |
| LOW | scripts/a11y/a11y_scan.py | 331 | CODE | |
| LOW | scripts/a11y/a11y_scan.py | 1089 | CODE | |
| LOW | src/lfx/tests/conftest.py | 85 | CODE | |
| LOW | …ests/unit/test_telemetry_is_inert_when_unconfigured.py | 98 | CODE | |
| LOW | src/lfx/tests/unit/utils/test_ssrf_protection.py | 706 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_run_starter_projects.py | 57 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_run_command_otlp_export.py | 112 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_run_real_flows.py | 87 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_run_real_flows.py | 369 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_run_real_flows.py | 487 | CODE | |
| LOW | …li/test_run_starter_projects_backward_compatibility.py | 54 | CODE | |
| LOW | …/tests/unit/components/test_component_display_names.py | 29 | CODE | |
| LOW | …nd_agents/agent_helpers/test_messages_input_builder.py | 18 | CODE | |
| LOW | src/lfx/tests/unit/workflow/test_agui_translator.py | 1050 | CODE | |
| LOW | …/lfx/tests/unit/base/models/test_models_dev_catalog.py | 722 | CODE | |
| LOW | …sts/unit/base/models/test_azure_ai_foundry_provider.py | 619 | CODE | |
| LOW | src/lfx/tests/unit/base/data/test_base_file.py | 38 | CODE | |
| LOW | …ts/unit/services/settings/test_mcp_composer_windows.py | 276 | CODE | |
| LOW | …ts/unit/services/settings/test_mcp_composer_windows.py | 393 | CODE | |
| LOW | …tests/integration/cli/test_simple_agent_integration.py | 295 | CODE | |
| LOW | …tests/integration/cli/test_simple_agent_integration.py | 405 | CODE | |
| LOW | src/lfx/src/lfx/observability.py | 900 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 158 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 348 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 436 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 484 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 1455 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 1505 | CODE | |
| LOW | src/lfx/src/lfx/interface/components.py | 1712 | CODE | |
| LOW | src/lfx/src/lfx/interface/initialize/loading.py | 172 | CODE | |
| LOW | src/lfx/src/lfx/interface/initialize/loading.py | 207 | CODE | |
| LOW | src/lfx/src/lfx/interface/initialize/loading.py | 329 | CODE | |
| LOW | src/lfx/src/lfx/upgrade/applier.py | 54 | CODE | |
| LOW | src/lfx/src/lfx/extension/manifest.py | 434 | CODE | |
| LOW | src/lfx/src/lfx/extension/discovery.py | 215 | CODE | |
| LOW | src/lfx/src/lfx/extension/discovery.py | 266 | CODE | |
| 687 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docs/static/files/Conversational_Notion_Agent.json | 3035 | "value": "from typing import Any, cast\n\nfrom langflow.custom import Component\nfrom langflow.inputs im | CODE |
| LOW | docs/static/files/AssemblyAI_Flow.json | 225 | "value": "import os\n\nimport assemblyai as aai\nfrom loguru import logger\n\nfrom langf | CODE |
| LOW | scripts/generate_migration.py | 81 | # Check if column has data | STRING |
| LOW⚡ | scripts/factory_restart_space.py | 30 | # Check if the space name is provided; exit with an error message if not. | COMMENT |
| LOW⚡ | scripts/factory_restart_space.py | 35 | # Check if the API token is provided; exit with an error message if not. | COMMENT |
| LOW | scripts/release-lfx.sh | 68 | # Check if we're in the right directory | COMMENT |
| LOW | scripts/ci/update_lf_base_dependency.py | 25 | # Check if the pattern is found | COMMENT |
| LOW | scripts/ci/update_lf_base_dependency.py | 57 | # Check if the pattern is found | COMMENT |
| LOW | scripts/setup/check_env.sh | 16 | # Check if Python version is compatible | COMMENT |
| LOW⚡ | scripts/gcp/deploy_langflow_gcp_spot.sh | 17 | # Check if the VPC exists, and create it if not | COMMENT |
| LOW⚡ | scripts/gcp/deploy_langflow_gcp_spot.sh | 23 | # Check if the subnet exists, and create it if not | COMMENT |
| LOW⚡ | scripts/gcp/deploy_langflow_gcp.sh | 17 | # Check if the VPC exists, and create it if not | COMMENT |
| LOW⚡ | scripts/gcp/deploy_langflow_gcp.sh | 23 | # Check if the subnet exists, and create it if not | COMMENT |
| LOW | .github/workflows/release.yml | 114 | # Check if the input exists as a tag | COMMENT |
| LOW | .github/workflows/release.yml | 122 | # Check if the input also exists as a branch (warn if so, but don't fail) | COMMENT |
| LOW | .github/workflows/release.yml | 611 | # Check if langflow-sdk exists on PyPI (may be first release) | COMMENT |
| LOW | .github/workflows/release.yml | 989 | # Check if the server is still running | COMMENT |
| LOW | .github/workflows/release.yml | 1202 | # Check if the server is still running | COMMENT |
| LOW | .github/workflows/release_nightly.yml | 233 | # Check if the server is still running | COMMENT |
| LOW | .github/workflows/release_nightly.yml | 329 | # Check if the server is still running | COMMENT |
| LOW | .github/workflows/python_test.yml | 303 | # Check if the server is still running | COMMENT |
| LOW | .github/workflows/release-lfx.yml | 78 | # Check if version already exists on PyPI | 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 | .github/workflows/ci.yml | 124 | # Check if response is valid JSON before proceeding | COMMENT |
| LOW | .github/workflows/ci.yml | 154 | # Check if the release date is today | COMMENT |
| LOW | src/lfx/tests/conftest.py | 39 | # Check if langflow is installed first - fail fast | COMMENT |
| LOW | src/lfx/tests/unit/graph/graph/test_cycles.py | 333 | # Check if the max_iterations logic is working | COMMENT |
| LOW | src/lfx/tests/unit/schema/test_schema_data_set.py | 80 | # Check if data is preserved | COMMENT |
| LOW | …tests/integration/cli/test_simple_agent_integration.py | 335 | # Check if process exited | COMMENT |
| LOW | …tests/integration/cli/test_simple_agent_integration.py | 363 | # Check if server switched to a different port | COMMENT |
| LOW⚡ | src/lfx/tests/data/MemoryChatbotNoLLM.json | 1014 | "value": "from typing import Any, cast\n\nfrom lfx.custom import Component\nfrom lfx.inputs import Handl | CODE |
| LOW | src/lfx/tests/data/LoopTest.json | 486 | "value": "from lfx.custom import Component\nfrom lfx.io import DataInput, Output\nfrom lfx.schema import | CODE |
| LOW | …tests/data/starter_projects_1_6_0/Market Research.json | 1685 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW⚡ | …s/data/starter_projects_1_6_0/Knowledge Ingestion.json | 788 | "value": "from __future__ import annotations\n\nimport asyncio\nimport contextlib\nimport hashlib\nimpor | CODE |
| LOW | …ta/starter_projects_1_6_0/Text Sentiment Analysis.json | 1321 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …ta/starter_projects_1_6_0/Text Sentiment Analysis.json | 1617 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …ta/starter_projects_1_6_0/Text Sentiment Analysis.json | 1912 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW⚡ | …/tests/data/starter_projects_1_6_0/Memory Chatbot.json | 858 | "value": "from typing import Any, cast\n\nfrom langflow.custom.custom_component.component import Compone | CODE |
| LOW | …/tests/data/starter_projects_1_6_0/Memory Chatbot.json | 1217 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW⚡ | …sts/data/starter_projects_1_6_0/Hybrid Search RAG.json | 2108 | "value": "import re\nfrom collections import defaultdict\nfrom dataclasses import asdict, dataclass, fie | CODE |
| LOW | …sts/data/starter_projects_1_6_0/Hybrid Search RAG.json | 1137 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …sts/data/starter_projects_1_6_0/Hybrid Search RAG.json | 1431 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW⚡ | …ests/data/starter_projects_1_6_0/Vector Store RAG.json | 2986 | "value": "import re\nfrom collections import defaultdict\nfrom dataclasses import asdict, dataclass, fie | CODE |
| LOW⚡ | …ests/data/starter_projects_1_6_0/Vector Store RAG.json | 3775 | "value": "import re\nfrom collections import defaultdict\nfrom dataclasses import asdict, dataclass, fie | CODE |
| LOW | …ests/data/starter_projects_1_6_0/Vector Store RAG.json | 2614 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …tests/data/starter_projects_1_6_0/Basic Prompting.json | 851 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …lfx/tests/data/starter_projects_1_6_0/Blog Writer.json | 1331 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …a/starter_projects_1_6_0/Twitter Thread Generator.json | 1778 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …/tests/data/starter_projects_1_6_0/Research Agent.json | 1892 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …/tests/data/starter_projects_1_6_0/Research Agent.json | 2185 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …/starter_projects_1_6_0/Research Translation Loop.json | 1249 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …/data/starter_projects_1_6_0/Instagram Copywriter.json | 2573 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …/data/starter_projects_1_6_0/Instagram Copywriter.json | 2867 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …ta/starter_projects_1_6_0/Financial Report Parser.json | 926 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW⚡ | …tests/data/starter_projects_1_6_0/Meeting Summary.json | 1508 | "value": "from typing import Any, cast\n\nfrom langflow.custom.custom_component.component import Compone | CODE |
| LOW | …tests/data/starter_projects_1_6_0/Meeting Summary.json | 2270 | "value": "from pathlib import Path\n\nimport assemblyai as aai\n\nfrom langflow.custom.custom_component. | CODE |
| LOW | …tests/data/starter_projects_1_6_0/Meeting Summary.json | 2768 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …tests/data/starter_projects_1_6_0/Meeting Summary.json | 3063 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| LOW | …fx/tests/data/starter_projects_1_6_0/Document Q&A.json | 873 | "value": "from typing import Any\n\nfrom langchain_anthropic import ChatAnthropic\nfrom langchain_google | CODE |
| 341 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/ci/test_pypi_nightly_tag.py | 5 | cd scripts/ci && uv run python -m pytest test_pypi_nightly_tag.py -q | STRING |
| HIGH | scripts/ci/test_pypi_nightly_tag.py | 6 | cd scripts/ci && uv run python test_pypi_nightly_tag.py | STRING |
| HIGH | scripts/ci/test_langflow_pre_release_tag.py | 5 | cd scripts/ci && uv run python test_langflow_pre_release_tag.py | STRING |
| HIGH | scripts/ci/test_langflow_pre_release_tag.py | 6 | cd scripts/ci && uv run python -m pytest test_langflow_pre_release_tag.py -q | STRING |
| HIGH | scripts/ci/test_release_rc_number.py | 58 | "inputs.release_sdk || inputs.release_lfx": "true", | CODE |
| HIGH⚡ | scripts/a11y/a11y_scan.py | 262 | source: item.source ?? null, | STRING |
| HIGH⚡ | scripts/a11y/a11y_scan.py | 263 | path: item.path?.dom ?? item.path?.aria ?? null, | STRING |
| HIGH⚡ | scripts/a11y/a11y_scan.py | 264 | snippet: item.snippet ?? null, | STRING |
| HIGH | scripts/a11y/a11y_scan.py | 293 | id: el.id || null, | STRING |
| HIGH | scripts/a11y/a11y_scan.py | 293 | id: el.id || null, | STRING |
| HIGH⚡ | scripts/a11y/a11y_scan.py | 315 | focusedWithinDialog: dialogs.some((dialog) => active && dialog.contains(active)), | STRING |
| HIGH⚡ | scripts/a11y/a11y_scan.py | 319 | id: active.id || null, | STRING |
| HIGH⚡ | scripts/a11y/a11y_scan.py | 319 | id: active.id || null, | STRING |
| HIGH | scripts/a11y/a11y_scan.py | 369 | if (options.by !== null && options.by !== undefined) { | CODE |
| HIGH | scripts/a11y/a11y_scan.py | 369 | if (options.by !== null && options.by !== undefined) { | CODE |
| HIGH⚡ | src/lfx/tests/unit/mcp/test_mcp_stdio_security.py | 1077 | pytest.param(["/c", "uvx mcp-proxy && calc.exe"], id="and-chain"), | CODE |
| HIGH⚡ | src/lfx/tests/unit/mcp/test_mcp_stdio_security.py | 1089 | equivalent ``sh -c 'uvx mcp-proxy && calc'`` denial comes back as ``MCPStdioSecurityError``, | STRING |
| HIGH | …fx/tests/unit/services/test_request_scope_isolation.py | 170 | blob = '{"shared_token": "from-env-blob", "null_cred": null, "nested": {"a": 1}}' | CODE |
| HIGH | src/lfx/src/lfx/schema/json_schema.py | 9 | NULLABLE_TYPE_LENGTH = 2 # Number of types in a nullable union (the type itself + null) | CODE |
| HIGH | src/lfx/src/lfx/schema/json_schema.py | 139 | # Handle common pattern for nullable types (anyOf with string and null) | COMMENT |
| HIGH | src/lfx/src/lfx/schema/workflow.py | 425 | "answer; when it's null, ``output.reason`` says why (``multiple`` / ``none`` / " | CODE |
| HIGH | src/lfx/src/lfx/base/data/base_file.py | 597 | # Try JSON first (handles true/false/null) | COMMENT |
| HIGH | src/backend/tests/unit/utils/test_data_structure.py | 52 | assert result == "list(null)" | CODE |
| HIGH | …tests/unit/agentic/api/test_sessions_reset_endpoint.py | 112 | fresh_conversation_buffer.push( | CODE |
| HIGH⚡ | …tests/unit/agentic/api/test_sessions_reset_endpoint.py | 158 | fresh_conversation_buffer.push( | CODE |
| HIGH⚡ | …tests/unit/agentic/api/test_sessions_reset_endpoint.py | 163 | fresh_conversation_buffer.push( | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 33 | buf.push(USER, "s1", turn) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 47 | buf.push(USER, "s1", t1) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 48 | buf.push(USER, "s1", t2) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 49 | buf.push(USER, "s1", t3) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 56 | buf.push(USER, "s1", ConversationTurn(user=f"u{i}", assistant=f"a{i}")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 67 | buf.push(USER, "s1", ConversationTurn(user=f"u{i}", assistant=f"a{i}")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 73 | buf.push(USER, "s1", ConversationTurn(user="u0", assistant="a0")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 80 | buf.push(USER, "s1", ConversationTurn(user=f"u{i}", assistant=f"a{i}")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 88 | buf.push(USER, "s1", ConversationTurn(user=f"u{i}", assistant=f"a{i}")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 100 | buf.push("alice", "s1", ConversationTurn(user="hi-a", assistant="ack-a")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 101 | buf.push("alice", "s2", ConversationTurn(user="hi-b", assistant="ack-b")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 108 | buf.push("alice", "s1", ConversationTurn(user="hi-a", assistant="ack-a")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 109 | buf.push("alice", "s2", ConversationTurn(user="hi-b", assistant="ack-b")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 132 | buf.push("alice", "shared-sid", ConversationTurn(user="secret", assistant="ok")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 139 | buf.push("alice", "shared-sid", ConversationTurn(user="alice-1", assistant="ok")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 140 | buf.push("bob", "shared-sid", ConversationTurn(user="bob-1", assistant="ok")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 148 | buf.push("alice", "shared-sid", ConversationTurn(user="alice-1", assistant="ok")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 149 | buf.push("bob", "shared-sid", ConversationTurn(user="bob-1", assistant="ok")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 165 | buf.push(USER, f"s{i}", ConversationTurn(user=f"u{i}", assistant=f"a{i}")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 176 | buf.push(USER, f"s{i}", ConversationTurn(user=f"u{i}", assistant=f"a{i}")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 179 | buf.push(USER, "s0", ConversationTurn(user="u0-fresh", assistant="a0-fresh")) | CODE |
| HIGH⚡ | …ests/unit/agentic/services/test_conversation_buffer.py | 183 | buf.push(USER, "s-new", ConversationTurn(user="u-new", assistant="a-new")) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 36 | fresh_buffer.push( | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 41 | fresh_buffer.push( | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 245 | fresh_buffer.push("alice", "s1", ConversationTurn(user=f"question-{i}", assistant=f"answer-{i}")) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 259 | fresh_buffer.push("alice", "s1", ConversationTurn(user="short", assistant=long_reply)) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 272 | fresh_buffer.push("alice", "s1", ConversationTurn(user=f"question-{i}", assistant=f"answer-{i}")) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 286 | fresh_buffer.push("alice", "s1", ConversationTurn(user=f"question-{i}", assistant=f"answer-{i}")) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 299 | fresh_buffer.push("alice", "s1", ConversationTurn(user=f"question-{i}", assistant=f"answer-{i}")) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 315 | fresh_buffer.push("alice", "s1", ConversationTurn(user=f"q-{i}", assistant=f"a-{i}")) | CODE |
| HIGH⚡ | …nit/agentic/services/test_assistant_service_history.py | 327 | fresh_buffer.push("alice", "s1", ConversationTurn(user="q-0", assistant="a-0")) | CODE |
| HIGH | …ntic/services/test_assistant_service_intent_context.py | 57 | fresh_buffer.push( | CODE |
| HIGH⚡ | …entic/services/test_assistant_service_history_clear.py | 30 | fresh_buffer.push("alice", "s1", ConversationTurn(user="x", assistant="y")) | CODE |
| HIGH⚡ | …entic/services/test_assistant_service_history_clear.py | 31 | fresh_buffer.push("alice", "s2", ConversationTurn(user="a", assistant="b")) | CODE |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/migrate_secret_key.py | 70 | def set_secure_permissions(file_path: Path) -> None: | CODE |
| LOW | scripts/ci/update_pyproject_name.py | 11 | def update_pyproject_name(pyproject_path: str, new_project_name: str) -> None: | CODE |
| LOW | scripts/ci/update_pyproject_name.py | 50 | def update_uv_dep(pyproject_path: str, new_project_name: str) -> None: | CODE |
| LOW | scripts/ci/update_pyproject_combined.py | 15 | def update_projects_for_nightly(main_tag: str, base_tag: str, lfx_tag: str) -> None: | CODE |
| LOW | scripts/ci/update_component_index_version.py | 12 | def update_component_index_version(index_path: str | Path, version: str) -> None: | CODE |
| LOW | scripts/ci/update_uv_dependency.py | 11 | def update_uv_dep(base_version: str) -> None: | CODE |
| LOW | scripts/ci/test_update_lfx_version.py | 41 | def update_temp_pyproject(relative_path: str, version: str) -> None: | CODE |
| LOW | scripts/ci/update_lf_base_dependency.py | 13 | def update_base_dep(pyproject_path: str, new_version: str) -> None: | CODE |
| LOW | scripts/ci/update_lf_base_dependency.py | 40 | def update_lfx_dep_in_base(pyproject_path: str, lfx_version: str) -> None: | CODE |
| LOW | scripts/ci/update_pyproject_version.py | 13 | def update_pyproject_version(pyproject_path: str, new_version: str) -> None: | CODE |
| LOW | scripts/ci/update_lfx_version.py | 28 | def update_sdk_dependency_in_lfx(pyproject_path: str, sdk_version: str) -> None: | CODE |
| LOW⚡ | scripts/e2e_deployment_tests/watsonx_orchestrate/api.py | 1774 | async def _setup_provider_clients_context(self) -> None: | CODE |
| LOW | scripts/migrate/consolidate_bundles.py | 349 | def update_bundles_pyproject(new_extras: dict[str, list[str]], *, apply: bool) -> None: | CODE |
| LOW | src/lfx/tests/unit/test_tweaks_policy.py | 431 | def update_raw_params(self, params: dict, *, overwrite: bool = False) -> None: | CODE |
| LOW | …/interface/test_loading_custom_component_code_param.py | 33 | def set_artifacts(self, artifacts) -> None: | CODE |
| LOW | …/interface/test_loading_custom_component_code_param.py | 36 | def set_results(self, results) -> None: | CODE |
| LOW | …/interface/test_loading_custom_component_code_param.py | 55 | def set_artifacts(self, artifacts) -> None: | CODE |
| LOW | …/interface/test_loading_custom_component_code_param.py | 58 | def set_results(self, results) -> None: | CODE |
| LOW⚡ | …ests/unit/utils/test_resolve_trusted_code_for_build.py | 23 | def _set_allow_custom_components(monkeypatch, *, allow: bool) -> None: | CODE |
| LOW | src/lfx/tests/unit/workflow/test_converters.py | 59 | def _setup_graph_get_vertex(graph: Mock, vertices: list[Mock]) -> None: | CODE |
| LOW | src/lfx/src/lfx/observability.py | 1268 | def set_attribute(self, key: str, value: str) -> None: | CODE |
| LOW | src/lfx/src/lfx/field_typing/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/interface/__init__.py | 6 | __all__ = ["components", "importing", "initialize", "listing", "run", "utils"] | CODE |
| LOW | src/lfx/src/lfx/interface/utils.py | 97 | def set_langchain_cache(settings) -> None: | CODE |
| LOW | src/lfx/src/lfx/interface/initialize/__init__.py | 3 | __all__ = ["loading"] | CODE |
| LOW | src/lfx/src/lfx/interface/importing/__init__.py | 5 | __all__ = ["import_class", "import_module"] | CODE |
| LOW | src/lfx/src/lfx/upgrade/__init__.py | 6 | __all__ = ["CompatibilityReport", "NodeStatus", "apply_safe_upgrades", "check_flow_compatibility"] | CODE |
| LOW | src/lfx/src/lfx/extension/reload_swap.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/lfx/src/lfx/extension/dev_registry.py | 63 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/lfx/src/lfx/extension/reload.py | 100 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/lfx/src/lfx/extension/reload.py | 686 | __all__ = [ | CODE |
| LOW⚡ | src/lfx/src/lfx/extension/discovery.py | 59 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/lfx/src/lfx/extension/registry.py | 356 | def update_entry(self, extension_id: str, **changes: object) -> None: | CODE |
| LOW | src/lfx/src/lfx/extension/__init__.py | 219 | __all__ = [ | CODE |
| LOW⚡ | src/lfx/src/lfx/extension/bundle_registry.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/lfx/src/lfx/extension/loader/_orchestrator.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/lfx/src/lfx/extension/loader/_plugins.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/lfx/src/lfx/extension/loader/__init__.py | 84 | __all__ = [ | CODE |
| LOW⚡ | src/lfx/src/lfx/extension/loader/_discovery.py | 37 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/extension/migration/__init__.py | 42 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/memory/__init__.py | 75 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/type_extraction/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/config/__init__.py | 5 | __all__ = ["ConfigError", "LangflowEnvironment", "resolve_environment"] | CODE |
| LOW | src/lfx/src/lfx/serialization/__init__.py | 5 | __all__ = ["serialize", "serialize_or_str"] | CODE |
| LOW | src/lfx/src/lfx/io/__init__.py | 36 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/graph/__init__.py | 6 | __all__ = ["CustomComponentVertex", "Edge", "Graph", "InterfaceVertex", "StateVertex", "Vertex"] | CODE |
| LOW | src/lfx/src/lfx/graph/checkpoint/store.py | 90 | def set_default_checkpoint_store(store: CheckpointStore | None) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/checkpoint/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/graph/flow_builder/__init__.py | 24 | __all__ = [ | CODE |
| LOW | src/lfx/src/lfx/graph/graph/utils.py | 117 | def update_template(template, g_nodes) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/graph/utils.py | 166 | def set_new_target_handle(proxy_id, new_edge, target_handle, node) -> None: | CODE |
| LOW | …c/lfx/src/lfx/graph/graph/runnable_vertices_manager.py | 51 | def update_run_state(self, run_predecessors: dict, vertices_to_run: set) -> None: | CODE |
| LOW⚡ | …c/lfx/src/lfx/graph/graph/runnable_vertices_manager.py | 118 | def update_vertex_run_state(self, vertex_id: str, *, is_runnable: bool) -> None: | CODE |
| LOW⚡ | src/lfx/src/lfx/graph/graph/base.py | 2127 | def _set_cache_if_listen_notify_components(self) -> None: | CODE |
| LOW⚡ | src/lfx/src/lfx/graph/graph/base.py | 2141 | def _set_cache_to_vertices_in_cycle(self) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 438 | def _set_start_and_end(self, start: Component, end: Component) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 861 | def set_run_id(self, run_id: uuid.UUID | str | None = None) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 1179 | def _set_inputs(self, input_components: list[str], inputs: dict[str, str], input_type: InputType | None) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 1980 | def update_edges_from_vertex(self, other_vertex: Vertex) -> None: | CODE |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 2051 | def update_vertex_from_another(self, vertex: Vertex, other_vertex: Vertex) -> None: | CODE |
| 455 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …omponent-refactoring/references/component-splitting.md | 402 | my-component.tsx # Main orchestration (NOT index.tsx) | CODE |
| MEDIUM | docs/features/langflow-assistant-mcp.md | 1358 | ### ADR-MCP-007: Two MCP Servers — `lfx/mcp` (canvas-aware) and `agentic/mcp` (DB-aware) | COMMENT |
| MEDIUM | docs/features/langflow-assistant-mcp.md | 2846 | #### POST /api/v1/agentic/assist/stream (extended) | COMMENT |
| MEDIUM | docs/features/langflow-assistant-mcp.md | 2910 | #### POST /api/v1/agentic/sessions/reset | COMMENT |
| MEDIUM | docs/features/langflow-assistant-mcp.md | 2946 | #### MCP Server (agentic, `langflow/agentic/mcp/server.py`) | COMMENT |
| MEDIUM | docs/features/langflow-assistant-mcp.md | 2982 | #### Conversation Buffer (`langflow.agentic.services.conversation_buffer`) | COMMENT |
| MEDIUM | docs/features/langflow-assistant-mcp.md | 2992 | #### User-Components Registry (`langflow.agentic.services.user_components` + `user_components_overlay` + `user_component | COMMENT |
| MEDIUM | docs/features/langflow-assistant.md | 1957 | #### POST /api/v1/agentic/assist/stream | COMMENT |
| MEDIUM | docs/features/langflow-assistant.md | 2044 | #### GET /api/v1/agentic/check-config | COMMENT |
| MEDIUM | docs/features/langflow-assistant.md | 2078 | #### POST /api/v1/agentic/assist/run | COMMENT |
| MEDIUM | docs/features/langflow-assistant.md | 2101 | #### POST /api/v1/agentic/assist | COMMENT |
| MEDIUM⚡ | docs/openapi/openapi.json | 10851 | "description": "Executes a specified flow by ID with optional input values, output selection, tweaks, and stream | CODE |
| MEDIUM | scripts/migrate/check_bare_names.py | 75 | # Skip __pycache__ and __init__ scaffolding; class declarations | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/test_tweaks_policy.py | 336 | # orchestration rather than close an API surface, which is not what an operator | COMMENT |
| MEDIUM⚡ | src/lfx/tests/unit/extension/test_init_template.py | 144 | # Refuse to scaffold over a non-empty target | COMMENT |
| MEDIUM | src/lfx/tests/unit/mcp/test_mcp_stdio_security.py | 51 | # A tenant cannot supply the agentic user-id binding env var (case-insensitive); only | COMMENT |
| MEDIUM⚡ | …sts/unit/base/knowledge_bases/test_postgres_backend.py | 534 | # swapped embedding model must be caught here rather than on INSERT. | COMMENT |
| MEDIUM⚡ | …s/data/starter_projects_1_6_0/Knowledge Ingestion.json | 788 | "value": "from __future__ import annotations\n\nimport asyncio\nimport contextlib\nimport hashlib\nimpor | CODE |
| MEDIUM⚡ | …sts/data/starter_projects_1_6_0/Hybrid Search RAG.json | 2108 | "value": "import re\nfrom collections import defaultdict\nfrom dataclasses import asdict, dataclass, fie | CODE |
| MEDIUM | …sts/data/starter_projects_1_6_0/Hybrid Search RAG.json | 1899 | "description": "# Hybrid Search RAG\n\nHybrid search performs a vector similarity search and a lexical searc | CODE |
| MEDIUM⚡ | …ests/data/starter_projects_1_6_0/Vector Store RAG.json | 2986 | "value": "import re\nfrom collections import defaultdict\nfrom dataclasses import asdict, dataclass, fie | CODE |
| MEDIUM⚡ | …ests/data/starter_projects_1_6_0/Vector Store RAG.json | 3775 | "value": "import re\nfrom collections import defaultdict\nfrom dataclasses import asdict, dataclass, fie | CODE |
| MEDIUM⚡ | …s/data/starter_projects_1_6_0/Knowledge Retrieval.json | 495 | "value": "import json\nfrom pathlib import Path\nfrom typing import Any\n\nfrom cryptography.fernet impo | CODE |
| MEDIUM | src/lfx/src/lfx/extension/loader/_orchestrator.py | 898 | # :mod:`lfx.extension.loader._startup` (extracted to keep this orchestration | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/extension/loader/_discovery.py | 31 | # Files we never treat as bundle modules. Test scaffolding and dunder | COMMENT |
| MEDIUM | src/lfx/src/lfx/graph/utils.py | 278 | # Get the transaction service via dependency injection | COMMENT |
| MEDIUM | src/lfx/src/lfx/graph/graph/base.py | 1074 | # agentic assistant all have one. The run did not finish, so it gets its own value. | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/utils/constants.py | 35 | # An enhanced version of claude-v1 with a 100,000 token (roughly 75,000 word) context window. | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/utils/constants.py | 39 | # Like claude-instant-v1 with a 100,000 token context window but retains its performance. | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/utils/constants.py | 44 | # An enhanced version of claude-v1.3 with a 100,000 token (roughly 75,000 word) context window. | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/utils/constants.py | 52 | # Version of claude-instant-v1.1 with a 100K token context window. | COMMENT |
| MEDIUM | src/lfx/src/lfx/cli/init.py | 10 | lfx init . # scaffold into the current directory | STRING |
| MEDIUM | …/src/lfx/components/models_and_agents/mcp_component.py | 59 | # orchestration logic in a follow-up PR. | COMMENT |
| MEDIUM | …lfx/src/lfx/components/llm_operations/guardrails_v2.py | 1155 | documentation = "https://docs.langflow.org/guardrails" | CODE |
| MEDIUM | src/lfx/src/lfx/components/llm_operations/guardrails.py | 41 | documentation = "https://docs.langflow.org/guardrails" | CODE |
| MEDIUM⚡ | src/lfx/src/lfx/base/mcp/security.py | 36 | # Env var through which Langflow binds the agentic MCP server to an authenticated user's id. | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/base/mcp/security.py | 38 | # tenant-authored stdio config cannot set it. The agentic MCP tools read it and fail closed when | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/base/mcp/security.py | 40 | # the reader (langflow.agentic.mcp.server). | COMMENT |
| MEDIUM⚡ | src/lfx/src/lfx/base/mcp/security.py | 43 | # Substring identifying the agentic MCP server module in a stdio command, so update_tools knows | COMMENT |
| MEDIUM | src/lfx/src/lfx/base/mcp/security.py | 181 | # -- Langflow-internal trust binding: the agentic MCP server reads the owning user's id | COMMENT |
| MEDIUM | src/lfx/src/lfx/base/models/models_dev_catalog.py | 62 | # does not mean that a provider has deprecated an embedding model. | COMMENT |
| MEDIUM | …fx/src/lfx/base/models/unified_models/model_catalog.py | 421 | "model_type": "embeddings", # Mark as embedding model | CODE |
| MEDIUM⚡ | src/frontend/tests/assets/group_test_iadevs.json | 455 | "value": "from lfx.custom import Component\nfrom lfx.inputs import MessageTextInput, HandleInput\nfrom l | CODE |
| MEDIUM⚡ | src/frontend/tests/assets/group_test_iadevs.json | 1059 | "value": "from lfx.custom import Component\nfrom lfx.inputs import MessageTextInput, HandleI | CODE |
| MEDIUM | …/utils/__tests__/upgradeComponentEdgeLoss.fixture.json | 1345 | "description": "# Vector Store RAG\n\nAsk questions over a **Knowledge Base** (retrieval-augmented generation) | CODE |
| MEDIUM | src/frontend/src/CustomNodes/GenericNode/index.tsx | 415 | // from outside the component (e.g. the agentic flow_builder updating the | COMMENT |
| MEDIUM | …eries/agentic/__tests__/use-post-assist-stream.test.ts | 29 | getURL: jest.fn(() => "http://localhost/api/v1/agentic/assist/stream"), | CODE |
| MEDIUM | …ackend/tests/unit/agentic/test_assistant_report_e2e.py | 12 | #1/#4 hallucination / fake success ........ TestNoFakeSuccessRealAgent | STRING |
| MEDIUM⚡ | …agentic/flows/test_translation_flow_requested_model.py | 31 | # LLM learns not to hallucinate a model for plain requests. | COMMENT |
| MEDIUM⚡ | …/agentic/flows/test_component_generator_tool_prompt.py | 100 | # the LLM gets confused and hallucinates values. | COMMENT |
| MEDIUM⚡ | …/unit/agentic/services/test_user_components_overlay.py | 193 | # reflect the user class's ACTUAL outputs, not the base scaffold. | COMMENT |
| MEDIUM | …/unit/agentic/services/test_user_components_overlay.py | 338 | # IntInput name='amount') got a generic scaffold node exposing only | COMMENT |
| MEDIUM | …nd/tests/unit/agentic/services/test_request_framing.py | 48 | # compound → orchestrating | COMMENT |
| MEDIUM | …nd/tests/unit/agentic/services/test_request_framing.py | 50 | # build_flow that ALSO asks to run → orchestrating | COMMENT |
| MEDIUM⚡ | …nd/tests/unit/agentic/services/test_request_framing.py | 79 | # NOT be mistaken for a build+run orchestration. | COMMENT |
| MEDIUM⚡ | …s/unit/agentic/services/helpers/test_intent_context.py | 79 | # the classifier's context window (confirmed e2e risk §1.5). | COMMENT |
| MEDIUM⚡ | …/unit/components/files_and_knowledge/test_retrieval.py | 362 | # ---- retrieve_data orchestration --------------------------------- | COMMENT |
| MEDIUM | …ponents/embeddings/test_ollama_embeddings_component.py | 385 | {component.JSON_CAPABILITIES_KEY: ["completion"]}, # Not an embedding model | CODE |
| MEDIUM⚡ | …components/llm_operations/test_guardrails_component.py | 491 | # Should raise because no guardrails are actually enabled | COMMENT |
| MEDIUM⚡ | …components/llm_operations/test_guardrails_component.py | 473 | default_kwargs["enabled_guardrails"] = [] # Disable default guardrails | CODE |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deploy/docker-compose.yml | 41 | # Uses environment variable DOMAIN | COMMENT |
| LOW | …kills/frontend-testing/assets/utility-test.template.ts | 21 | // jest.mock("@/controllers/API/api", () => ({ | COMMENT |
| LOW | …kills/frontend-testing/assets/utility-test.template.ts | 61 | // { input: "hello", expected: "HELLO", description: "lowercase string" }, | COMMENT |
| LOW | …kills/frontend-testing/assets/utility-test.template.ts | 121 | // Type-Specific Tests | COMMENT |
| LOW | …kills/frontend-testing/assets/utility-test.template.ts | 141 | // const inputCopy = [...input]; | COMMENT |
| LOW | …kills/frontend-testing/assets/utility-test.template.ts | 161 | COMMENT | |
| LOW | …kills/frontend-testing/assets/utility-test.template.ts | 181 | // const intermediate = TEMPLATE_FUNCTION_A(rawInput); | COMMENT |
| LOW | …ls/frontend-testing/assets/component-test.template.tsx | 21 | // jest.mock("@/controllers/API/api", () => ({ | COMMENT |
| LOW | …ls/frontend-testing/assets/component-test.template.tsx | 61 | // Use this if the component requires providers (router, query client, context) | COMMENT |
| LOW | …ls/frontend-testing/assets/component-test.template.tsx | 141 | // describe("async behavior", () => { | COMMENT |
| LOW | …ls/frontend-testing/assets/component-test.template.tsx | 161 | // | COMMENT |
| LOW | …s/skills/frontend-testing/assets/hook-test.template.ts | 21 | // __esModule: true, | COMMENT |
| LOW | …s/skills/frontend-testing/assets/hook-test.template.ts | 121 | COMMENT | |
| LOW | …s/skills/frontend-testing/assets/hook-test.template.ts | 141 | // it("should handle fetch errors", async () => { | COMMENT |
| LOW | …s/skills/frontend-testing/assets/hook-test.template.ts | 161 | // afterEach(() => { | COMMENT |
| LOW | …s/skills/frontend-testing/assets/hook-test.template.ts | 221 | }); | COMMENT |
| LOW | docs/src/clientModules/redocA11y.js | 1 | // Accessibility patches for Redocusaurus pages. | COMMENT |
| LOW | scripts/build_component_index.py | 141 | print("\nStripping dynamic fields from component metadata...") | COMMENT |
| LOW | scripts/lint/check_component_env_writes.py | 41 | COMMENT | |
| LOW | scripts/migrate/consolidate_bundles.py | 41 | BUNDLES_PYPROJECT = REPO_ROOT / "src" / "bundles" / "lfx-bundles" / "pyproject.toml" | COMMENT |
| LOW | .github/workflows/db-migration-validation.yml | 181 | VERSION="${VERSION#v}" | COMMENT |
| LOW | .github/workflows/release.yml | 1701 | with: | COMMENT |
| LOW | .github/workflows/release_nightly.yml | 801 | secrets: | COMMENT |
| LOW | .github/workflows/release_nightly.yml | 821 | # needs: [build-nightly-main, call_docker_build_main] | COMMENT |
| LOW | .github/workflows/python_test.yml | 141 | echo "No lfx_bundles-guarded lfx tests found -- nothing to run." | COMMENT |
| LOW | .github/workflows/deploy_gh-pages.yml | 41 | # The following lines assign commit authorship to the official | COMMENT |
| LOW | .github/workflows/codeql.yml | 41 | # By default, queries listed here will override any specified in a config file. | COMMENT |
| LOW | .github/workflows/cross-bundle-test.yml | 1 | name: Cross-Bundle Test | COMMENT |
| LOW | .github/workflows/cross-bundle-test.yml | 161 | # with the provider code and need their provider's SDKs. These moved | COMMENT |
| LOW | .github/workflows/release_bundles.yml | 81 | # Bundles floor lfx at the release line they were cut from (e.g. | COMMENT |
| LOW | regressions/1.10.x.yaml | 21 | # "status": "triage", | COMMENT |
| LOW | regressions/1.12.x.yaml | 21 | # "area": "flow_editor", | COMMENT |
| LOW | src/lfx/tests/unit/test_process.py | 581 | assert safe.load_from_db_fields == [] | COMMENT |
| LOW | src/lfx/tests/unit/extension/test_schema.py | 161 | # 7. lfx.compat empty | COMMENT |
| LOW | src/lfx/tests/unit/graph/test_graph.py | 721 | # data = project_data["data"] | COMMENT |
| LOW | src/lfx/tests/unit/cli/test_serve.py | 1221 | sync_workers=False, | COMMENT |
| LOW | src/lfx/tests/unit/cli/test_serve_app_flow_span.py | 141 | # The other half of a passing cell: a flow span says the run happened, the server duration | COMMENT |
| LOW | …c/lfx/tests/unit/schema/test_message_content_blocks.py | 761 | # The discriminator must survive so downstream validators that | COMMENT |
| LOW | …x/tests/unit/custom/custom_component/test_component.py | 61 | # chatoutput = ChatOutput() | COMMENT |
| LOW | …x/tests/unit/base/agents/test_default_system_prompt.py | 201 | idx_a = a.find("# Environment") | COMMENT |
| LOW | …integration/extension/test_pilot_duckduckgo_upgrade.py | 301 | assert result.ok, [e.code for e in result.errors] | COMMENT |
| LOW | src/lfx/src/lfx/observability.py | 41 | from lfx.log.logger import logger, operator_logger, otel_log_bodies_exported | COMMENT |
| LOW | src/lfx/src/lfx/observability.py | 81 | # "langflow" because that is the scope langflow's custom metrics already use, and the metric | COMMENT |
| LOW | src/lfx/src/lfx/observability.py | 201 | # langchain, bedrock, ... are all installed alongside fastapi and sqlalchemy). Their spans | COMMENT |
| LOW | src/lfx/src/lfx/observability.py | 221 | # neither, and a literal repeated in both is one edit away from disagreeing. | COMMENT |
| LOW | src/lfx/src/lfx/interface/components.py | 61 | COMMENT | |
| LOW | src/lfx/src/lfx/interface/components.py | 81 | # still be rebuilt with the server's current copy. | COMMENT |
| LOW | src/lfx/src/lfx/interface/components.py | 1161 | # When neither $LANGFLOW_SEED_DIR is set nor /opt/langflow/bundles | COMMENT |
| LOW | src/lfx/src/lfx/interface/components.py | 1181 | ) | COMMENT |
| LOW | src/lfx/src/lfx/extension/reload.py | 101 | COMMENT | |
| LOW | src/lfx/src/lfx/extension/reload.py | 421 | # @extra inline bundles record source_path as the bundle directory | COMMENT |
| LOW | src/lfx/src/lfx/extension/errors.py | 81 | "component-not-found-with-hint", | COMMENT |
| LOW | src/lfx/src/lfx/extension/errors.py | 121 | "reload-transport-error", | COMMENT |
| LOW | src/lfx/src/lfx/extension/loader/_orchestrator.py | 581 | # bundle's root. Recognised keys in v0: | COMMENT |
| LOW | src/lfx/src/lfx/extension/loader/_discovery.py | 161 | ) | COMMENT |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 161 | self.source_flow_id: str | None = None | COMMENT |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 641 | try: | COMMENT |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 681 | pending = asyncio.all_tasks(loop) | COMMENT |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 1021 | # is_recording() goes False once a span has ended, which is the signal that this run | COMMENT |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 1061 | ) | COMMENT |
| 203 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …x/tests/data/starter_projects_1_6_0/Pokédex Agent.json | 765 | "value": "import json\nimport re\nimport tempfile\nfrom datetime import datetime, timezone\nfrom pathlib | CODE |
| LOW⚡ | …fx/tests/data/starter_projects_1_6_0/SaaS Pricing.json | 1294 | "value": "# Subscription Pricing Calculator\n\n## Purpose\nCalculate the optimal monthly subscription pr | CODE |
| LOW⚡ | src/lfx/src/lfx/graph/utils.py | 236 | # if it is a list we need to check if the contents are python types | COMMENT |
| LOW | src/lfx/src/lfx/graph/edge/base.py | 219 | # so we need to check if any of the strings in source_types is in target_reqs | COMMENT |
| LOW | src/lfx/src/lfx/graph/edge/base.py | 247 | # so we need to check if any of the strings in source_types is in target_reqs | COMMENT |
| LOW | src/lfx/src/lfx/graph/vertex/utils.py | 15 | # if it is a list we need to check if the contents are python types | COMMENT |
| LOW | src/lfx/src/lfx/graph/vertex/vertex_types.py | 113 | # We need to check if the edge is a normal edge | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1067 | # Step 1: Check if SSRF protection is enabled | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1074 | # Step 2: Parse and validate URL format | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1086 | # Step 3: Validate URL scheme (raises SSRFProtectionError for any non-http/https scheme) | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1091 | # Step 4: Extract and validate hostname | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1096 | # Step 5: Check allowlist (early return for trusted hosts) | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1105 | # Step 6: Handle direct IP addresses | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1133 | # Step 7: Resolve hostname to IP addresses | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1141 | # Step 8: Validate all resolved IPs | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1163 | # Step 9: Block if any resolved IPs are private/internal | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1185 | # Step 10: Return validated IPs for DNS pinning | COMMENT |
| LOW | src/lfx/src/lfx/utils/exceptions.py | 62 | # We need to check if the __cause__ is a SyntaxError | COMMENT |
| LOW | src/lfx/src/lfx/components/data_source/api_request.py | 840 | # Step 3: Infer file extension or use part of the request URL if no filename | COMMENT |
| LOW⚡ | src/lfx/src/lfx/components/data_source/api_request.py | 859 | # Step 4: Define the full file path | COMMENT |
| LOW⚡ | src/lfx/src/lfx/components/data_source/api_request.py | 868 | # Step 5: Check if file exists asynchronously and handle accordingly | COMMENT |
| LOW | src/lfx/src/lfx/custom/custom_component/component.py | 898 | # We need to check if callable AND if it is a method from a class that inherits from Component | COMMENT |
| LOW⚡ | src/lfx/src/lfx/base/models/groq_model_discovery.py | 76 | # Step 1: Get list of available models | COMMENT |
| LOW⚡ | src/lfx/src/lfx/base/models/groq_model_discovery.py | 80 | # Step 2: Categorize models | COMMENT |
| LOW⚡ | src/lfx/src/lfx/base/models/groq_model_discovery.py | 90 | # Step 3: Test LLM models for chat completion and tool calling | COMMENT |
| LOW | src/lfx/src/lfx/base/models/groq_model_discovery.py | 116 | # Step 4: Add non-LLM models as unsupported | COMMENT |
| LOW | …lfx/src/lfx/base/models/unified_models/build_config.py | 528 | # Step 1: Refresh/cache model options, set defaults and input_types | COMMENT |
| LOW | …lfx/src/lfx/base/models/unified_models/build_config.py | 596 | # Step 2: Reset provider-specific visibility without changing values. | COMMENT |
| LOW | …lfx/src/lfx/base/models/unified_models/build_config.py | 608 | # Step 3: Show/configure the right fields for the selected provider | COMMENT |
| LOW | …c/frontend/tests/core/unit/fileUploadComponent.spec.ts | 711 | // Step 1: First navigate to files page and upload both files | COMMENT |
| LOW | …c/frontend/tests/core/unit/fileUploadComponent.spec.ts | 773 | // Step 2: Create a flow with File component and check if PSD file is disabled | COMMENT |
| LOW | …/regression/general-bugs-move-flow-from-folder.spec.ts | 39 | // Step 1: create a destination project. `add-project-button` | COMMENT |
| LOW⚡ | …/regression/general-bugs-move-flow-from-folder.spec.ts | 57 | // Step 2: go back to the source project. The destination's query | COMMENT |
| LOW⚡ | …/regression/general-bugs-move-flow-from-folder.spec.ts | 65 | // Step 3: real HTML5 drag-and-drop — `dragTo()` populates | COMMENT |
| LOW | …/regression/general-bugs-move-flow-from-folder.spec.ts | 80 | // Step 4: click the destination. The flow must be visible. Use a | COMMENT |
| LOW | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 441 | // Step 1: Start login | COMMENT |
| LOW | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 461 | // Step 2: Complete getUser | COMMENT |
| LOW⚡ | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 474 | // Step 3: Complete getGlobalVariables | COMMENT |
| LOW⚡ | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 481 | // Step 4: NOW isAuthenticated should be set | COMMENT |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 131 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 138 | expect(code).toContain("# Step 2: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 159 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 160 | expect(code).toContain("# Step 2: Upload file for ChatInput chatNode2"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 167 | expect(code).toContain("# Step 3: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 185 | "# Step 1: Upload file for File/VideoFile fileNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 192 | expect(code).toContain("# Step 2: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 209 | "# Step 1: Upload file for File/VideoFile videoNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 216 | expect(code).toContain("# Step 2: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 233 | "# Step 1: Upload file for File/VideoFile fileNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 236 | "# Step 2: Upload file for File/VideoFile videoNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 242 | expect(code).toContain("# Step 3: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 261 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 266 | "# Step 2: Upload file for File/VideoFile fileNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 269 | "# Step 3: Upload file for File/VideoFile videoNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 274 | expect(code).toContain("# Step 4: Execute flow with all file paths"); | CODE |
| LOW | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 291 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 349 | expect(code).not.toContain("# Step 1:"); | CODE |
| LOW | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 364 | expect(code).not.toContain("# Step 1:"); | CODE |
| LOW⚡ | …odals/apiModal/utils/__tests__/get-js-api-code.test.ts | 109 | expect(code).toContain("// Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …odals/apiModal/utils/__tests__/get-js-api-code.test.ts | 115 | expect(code).toContain("// Step 2: Execute flow with all file paths"); | CODE |
| 83 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/component-refactoring/SKILL.md | 334 | ### Step 1: Assess Complexity | COMMENT |
| LOW | .agents/skills/component-refactoring/SKILL.md | 343 | ### Step 2: Plan | COMMENT |
| LOW | .agents/skills/component-refactoring/SKILL.md | 356 | ### Step 3: Execute Incrementally | COMMENT |
| LOW | .agents/skills/component-refactoring/SKILL.md | 373 | ### Step 4: Verify | COMMENT |
| LOW | …ls/component-refactoring/references/hook-extraction.md | 16 | ### Step 1: Identify State Groups | COMMENT |
| LOW | …ls/component-refactoring/references/hook-extraction.md | 29 | ### Step 2: Identify Related Effects | COMMENT |
| LOW | …ls/component-refactoring/references/hook-extraction.md | 49 | ### Step 3: Create the Hook | COMMENT |
| LOW | …ls/component-refactoring/references/hook-extraction.md | 107 | ### Step 4: Update Component | COMMENT |
| LOW | src/lfx/PLUGGABLE_SERVICES.md | 394 | ### Step 1: Implement the Service Class | COMMENT |
| LOW | src/lfx/PLUGGABLE_SERVICES.md | 420 | ### Step 2: Register the Service | COMMENT |
| LOW | src/lfx/PLUGGABLE_SERVICES.md | 449 | ### Step 3: Use the Service | COMMENT |
| LOW⚡ | …x/tests/data/starter_projects_1_6_0/Pokédex Agent.json | 765 | "value": "import json\nimport re\nimport tempfile\nfrom datetime import datetime, timezone\nfrom pathlib | CODE |
| LOW⚡ | …fx/tests/data/starter_projects_1_6_0/SaaS Pricing.json | 1294 | "value": "# Subscription Pricing Calculator\n\n## Purpose\nCalculate the optimal monthly subscription pr | CODE |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1067 | # Step 1: Check if SSRF protection is enabled | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1074 | # Step 2: Parse and validate URL format | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1086 | # Step 3: Validate URL scheme (raises SSRFProtectionError for any non-http/https scheme) | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1091 | # Step 4: Extract and validate hostname | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1096 | # Step 5: Check allowlist (early return for trusted hosts) | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1105 | # Step 6: Handle direct IP addresses | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1133 | # Step 7: Resolve hostname to IP addresses | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1141 | # Step 8: Validate all resolved IPs | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1163 | # Step 9: Block if any resolved IPs are private/internal | COMMENT |
| LOW⚡ | src/lfx/src/lfx/utils/ssrf_protection.py | 1185 | # Step 10: Return validated IPs for DNS pinning | COMMENT |
| LOW | src/lfx/src/lfx/components/data_source/api_request.py | 840 | # Step 3: Infer file extension or use part of the request URL if no filename | COMMENT |
| LOW⚡ | src/lfx/src/lfx/components/data_source/api_request.py | 859 | # Step 4: Define the full file path | COMMENT |
| LOW⚡ | src/lfx/src/lfx/components/data_source/api_request.py | 868 | # Step 5: Check if file exists asynchronously and handle accordingly | COMMENT |
| LOW⚡ | src/lfx/src/lfx/base/models/groq_model_discovery.py | 76 | # Step 1: Get list of available models | COMMENT |
| LOW⚡ | src/lfx/src/lfx/base/models/groq_model_discovery.py | 80 | # Step 2: Categorize models | COMMENT |
| LOW⚡ | src/lfx/src/lfx/base/models/groq_model_discovery.py | 90 | # Step 3: Test LLM models for chat completion and tool calling | COMMENT |
| LOW | src/lfx/src/lfx/base/models/groq_model_discovery.py | 116 | # Step 4: Add non-LLM models as unsupported | COMMENT |
| LOW | …lfx/src/lfx/base/models/unified_models/build_config.py | 528 | # Step 1: Refresh/cache model options, set defaults and input_types | COMMENT |
| LOW | …lfx/src/lfx/base/models/unified_models/build_config.py | 596 | # Step 2: Reset provider-specific visibility without changing values. | COMMENT |
| LOW | …lfx/src/lfx/base/models/unified_models/build_config.py | 608 | # Step 3: Show/configure the right fields for the selected provider | COMMENT |
| LOW | …c/frontend/tests/core/unit/fileUploadComponent.spec.ts | 711 | // Step 1: First navigate to files page and upload both files | COMMENT |
| LOW | …c/frontend/tests/core/unit/fileUploadComponent.spec.ts | 773 | // Step 2: Create a flow with File component and check if PSD file is disabled | COMMENT |
| LOW | …/regression/general-bugs-move-flow-from-folder.spec.ts | 39 | // Step 1: create a destination project. `add-project-button` | COMMENT |
| LOW⚡ | …/regression/general-bugs-move-flow-from-folder.spec.ts | 57 | // Step 2: go back to the source project. The destination's query | COMMENT |
| LOW⚡ | …/regression/general-bugs-move-flow-from-folder.spec.ts | 65 | // Step 3: real HTML5 drag-and-drop — `dragTo()` populates | COMMENT |
| LOW | …/regression/general-bugs-move-flow-from-folder.spec.ts | 80 | // Step 4: click the destination. The flow must be visible. Use a | COMMENT |
| LOW | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 441 | // Step 1: Start login | COMMENT |
| LOW | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 461 | // Step 2: Complete getUser | COMMENT |
| LOW⚡ | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 474 | // Step 3: Complete getGlobalVariables | COMMENT |
| LOW⚡ | …/src/contexts/__tests__/authContext-login-fix.test.tsx | 481 | // Step 4: NOW isAuthenticated should be set | COMMENT |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 131 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 138 | expect(code).toContain("# Step 2: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 159 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 160 | expect(code).toContain("# Step 2: Upload file for ChatInput chatNode2"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 167 | expect(code).toContain("# Step 3: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 185 | "# Step 1: Upload file for File/VideoFile fileNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 192 | expect(code).toContain("# Step 2: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 209 | "# Step 1: Upload file for File/VideoFile videoNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 216 | expect(code).toContain("# Step 2: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 233 | "# Step 1: Upload file for File/VideoFile fileNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 236 | "# Step 2: Upload file for File/VideoFile videoNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 242 | expect(code).toContain("# Step 3: Execute flow with all file paths"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 261 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 266 | "# Step 2: Upload file for File/VideoFile fileNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 269 | "# Step 3: Upload file for File/VideoFile videoNode1", | CODE |
| LOW⚡ | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 274 | expect(code).toContain("# Step 4: Execute flow with all file paths"); | CODE |
| LOW | …s/apiModal/utils/__tests__/get-python-api-code.test.ts | 291 | expect(code).toContain("# Step 1: Upload file for ChatInput chatNode1"); | CODE |
| 80 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 414 | "S101", # Asserts ok in stress harness | STRING |
| MEDIUM | …/API-Reference/python-examples/test-python-examples.sh | 151 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …erence/javascript-examples/test-javascript-examples.sh | 150 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …docs/API-Reference/curl-examples/test-curl-examples.sh | 143 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM⚡ | docs/openapi/openapi.json | 10851 | "description": "Executes a specified flow by ID with optional input values, output selection, tweaks, and stream | CODE |
| MEDIUM | …/API-Reference/python-examples/test-python-examples.sh | 151 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …erence/javascript-examples/test-javascript-examples.sh | 150 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …11.0/API-Reference/curl-examples/test-curl-examples.sh | 143 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …/API-Reference/python-examples/test-python-examples.sh | 151 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …/API-Reference/python-examples/test-python-examples.sh | 151 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …erence/javascript-examples/test-javascript-examples.sh | 150 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …12.0/API-Reference/curl-examples/test-curl-examples.sh | 143 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | …/API-Reference/python-examples/test-python-examples.sh | 151 | # Streaming / long-running examples: skip in local harness (hang, flaky, or need extra setup). | COMMENT |
| MEDIUM | scripts/test-api-examples-local.sh | 14 | # harness so a user-wide LANGFLOW_DEVELOPER_API_ENABLED=false does not break the suite. | COMMENT |
| MEDIUM | .github/workflows/python_test.yml | 77 | # version-compatibility harness (tests.constants + tests.integration.utils), which is | COMMENT |
| MEDIUM | src/lfx/tests/conftest.py | 125 | # Additional fixtures for more comprehensive testing support | COMMENT |
| MEDIUM | …xtension/migration/test_bundle_api_changelog_script.py | 21 | return subprocess.run( # noqa: S603 - test harness invoking git on a tmp repo | CODE |
| MEDIUM | …xtension/migration/test_bundle_api_changelog_script.py | 37 | return subprocess.run( # noqa: S603 - test harness | CODE |
| MEDIUM | …ts/unit/extension/migration/test_append_only_script.py | 33 | return subprocess.run( # noqa: S603 - test harness invoking our own script | CODE |
| MEDIUM | …s/unit/extension/migration/test_router_trust_script.py | 26 | return subprocess.run( # noqa: S603 - test harness invoking our own script | CODE |
| MEDIUM | …sts/unit/extension/migration/test_bare_names_script.py | 40 | return subprocess.run( # noqa: S603 - test harness invoking our own script | CODE |
| MEDIUM⚡ | src/lfx/tests/unit/utils/test_python_repl_security.py | 331 | # An administrator's completed run must not elevate the next unbound caller. | COMMENT |
| MEDIUM | src/lfx/tests/unit/cli/test_prewarm_command.py | 189 | # process-global state — incl. harness threads — so it's not asserted here.) | COMMENT |
| LOW | …ructured_output/test_structured_output_orchestrator.py | 111 | # When schema is empty, no structuring should happen — just pass through. | COMMENT |
| MEDIUM⚡ | …c/lfx/tests/unit/base/models/test_provider_registry.py | 41 | # importlib against this module's name -- robust because the running test module | COMMENT |
| LOW⚡ | …ts/unit/services/settings/test_mcp_composer_windows.py | 123 | # Should not raise, just return False | COMMENT |
| LOW⚡ | …ts/unit/services/settings/test_mcp_composer_windows.py | 136 | # Should not raise, just return False | COMMENT |
| MEDIUM | …integration/extension/test_pilot_duckduckgo_upgrade.py | 391 | # string-match to be robust against either form. | COMMENT |
| MEDIUM | …tests/data/starter_projects_1_6_0/Market Research.json | 626 | "description": "# Market Research\nThis flow helps you gather comprehensive information about companies for | CODE |
| MEDIUM | …ta/starter_projects_1_6_0/Sequential Tasks Agents.json | 1845 | "value": "# Financial Analysis Expert Protocol\n\nYou are an elite financial analyst with access to Yaho | CODE |
| MEDIUM | …ests/data/starter_projects_1_6_0/Youtube Analysis.json | 1972 | "description": "# 📖 README\nThis flow performs comprehensive analysis of YouTube videos.\n1. Extract video | CODE |
| LOW | src/lfx/src/lfx/type_extraction.py | 58 | # If the return type is not a Union, then we just return it as a list | COMMENT |
| LOW | src/lfx/src/lfx/interface/initialize/loading.py | 411 | # so we can just call them | COMMENT |
| MEDIUM | src/lfx/src/lfx/extension/discovery.py | 397 | except Exception as exc: # noqa: BLE001 - pydantic raises ValidationError; bare Exception keeps the scan robust | CODE |
| LOW | src/lfx/src/lfx/type_extraction/type_extraction.py | 54 | # If the return type is not a Union, then we just return it as a list | COMMENT |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 1344 | # just add empty lists to complete the length | COMMENT |
| LOW⚡ | src/lfx/src/lfx/graph/state/model.py | 258 | # No computed fields, just create the model directly | COMMENT |
| MEDIUM | src/lfx/src/lfx/graph/vertex/base.py | 986 | # We should create a more robust comparison | COMMENT |
| LOW | src/lfx/src/lfx/utils/validate_cloud.py | 45 | # To add new disabled components in the future, simply add entries to this dictionary. | COMMENT |
| MEDIUM | src/lfx/src/lfx/utils/langflow_utils.py | 28 | # - Consider refactoring to use lazy loading or a more robust service discovery mechanism | COMMENT |
| LOW | src/lfx/src/lfx/cli/common.py | 817 | # If we can't read or parse the file, just return None | COMMENT |
| LOW | src/lfx/src/lfx/schema/data.py | 166 | # If the key is not in the first object, simply add it | STRING |
| MEDIUM | …/lfx/src/lfx/components/llm_operations/llm_selector.py | 499 | """Return the comprehensive routing decision explanation.""" | STRING |
| MEDIUM | src/lfx/src/lfx/custom/validate.py | 764 | # TODO: Build a more robust check for Component inheritance | COMMENT |
| MEDIUM | src/lfx/src/lfx/base/tools/run_flow.py | 250 | # TODO: make this more robust? | COMMENT |
| LOW | src/lfx/src/lfx/base/agents/altk_tool_wrappers.py | 238 | # If schema parsing fails, just use kwargs | COMMENT |
| LOW | src/lfx/src/lfx/base/agents/altk_tool_wrappers.py | 550 | # Already wrapped with this wrapper, just return it | COMMENT |
| LOW | …fx/src/lfx/base/models/unified_models/model_catalog.py | 442 | # If we can't get models, just create basic dicts | COMMENT |
| LOW | src/lfx/src/lfx/base/composio/composio_base.py | 1318 | # If action_button doesn't exist, just add the field normally | COMMENT |
| LOW | src/lfx/src/lfx/base/data/docling_utils.py | 312 | # crash the host process in single-worker setups. Instead, just set | COMMENT |
| MEDIUM | src/lfx/src/lfx/services/mcp_composer/service.py | 1539 | # Get comprehensive error information | COMMENT |
| MEDIUM | …frontend/src/modals/apiModal/utils/get-js-api-code.tsx | 27 | // Parse URL for robust hostname/port extraction | COMMENT |
| MEDIUM | …c/frontend/src/modals/apiModal/utils/get-curl-code.tsx | 84 | // PowerShell with here-string (most robust for complex JSON) | COMMENT |
| MEDIUM | …enderComponent/components/TableNodeComponent/index.tsx | 182 | // More robust header detection - check if first line contains column names | COMMENT |
| MEDIUM | …ow/src/langflow_stepflow/translation/node_processor.py | 395 | # Extract comprehensive component metadata | COMMENT |
| LOW | src/backend/tests/unit/test_get_api_key.py | 59 | # Patch ApiKeyRead.model_validate to just return the provided dict for easy assertions | COMMENT |
| LOW | src/backend/tests/unit/test_process.py | 167 | # Test twekas that just pass the param and value but no node id. | COMMENT |
| LOW⚡ | src/backend/tests/unit/test_api_key_source.py | 413 | # Should not raise, just return None | COMMENT |
| MEDIUM⚡ | …/backend/tests/unit/agentic/api/test_files_endpoint.py | 242 | # be robust if the LLM (or a future contributor) names a file weirdly. | COMMENT |
| MEDIUM | …/unit/agentic/services/test_user_components_overlay.py | 56 | # this fixture is robust to whatever ordering pytest-xdist picks. | COMMENT |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | docs/openapi/openapi.json | 10851 | "description": "Executes a specified flow by ID with optional input values, output selection, tweaks, and stream | CODE |
| HIGH | src/lfx/LFX_MCP.md | 38 | "LANGFLOW_API_KEY": "<your-api-key>" | CODE |
| HIGH | src/lfx/LFX_MCP.md | 55 | "LANGFLOW_API_KEY": "<your-api-key>" | CODE |
| HIGH | src/lfx/LFX_MCP.md | 71 | "LANGFLOW_API_KEY": "<your-api-key>", | CODE |
| HIGH | src/lfx/src/lfx/templates/shell/ci-push.sh | 11 | # export LANGFLOW_API_KEY=<your-api-key> | COMMENT |
| HIGH | …rontend/tests/extended/features/mcp-server-tab.spec.ts | 131 | // Verify "YOUR_API_KEY" is present in the JSON before generation | COMMENT |
| HIGH | …rontend/tests/extended/features/mcp-server-tab.spec.ts | 132 | expect(jsonBeforeGeneration).toContain("YOUR_API_KEY"); | CODE |
| HIGH⚡ | …rontend/tests/extended/features/mcp-server-tab.spec.ts | 146 | // Wait for the JSON to update - it should no longer contain "YOUR_API_KEY" | COMMENT |
| HIGH⚡ | …rontend/tests/extended/features/mcp-server-tab.spec.ts | 147 | await expect(preElement).not.toContainText("YOUR_API_KEY", { | CODE |
| HIGH⚡ | …rontend/tests/extended/features/mcp-server-tab.spec.ts | 153 | // Verify that an actual API key (not "YOUR_API_KEY") is present | COMMENT |
| HIGH⚡ | …rontend/tests/extended/features/mcp-server-tab.spec.ts | 160 | expect(generatedApiKey).not.toBe("YOUR_API_KEY"); | CODE |
| HIGH | …d/src/pages/SettingsPage/pages/McpClientPage/index.tsx | 25 | LANGFLOW_API_KEY: "YOUR_API_KEY", // pragma: allowlist secret | CODE |
| HIGH | …d/src/pages/SettingsPage/pages/McpClientPage/index.tsx | 66 | -e LANGFLOW_API_KEY=YOUR_API_KEY`; | CODE |
| HIGH | …pages/MainPage/pages/homePage/utils/mcpServerUtils.tsx | 88 | return `"--headers","x-api-key","${apiKey || "YOUR_API_KEY"}"`; | CODE |
| HIGH | …pages/MainPage/pages/homePage/utils/mcpServerUtils.tsx | 92 | return `"--headers","x-api-key","${apiKey || "YOUR_API_KEY"}"`; | CODE |
| HIGH | …/pages/homePage/utils/__tests__/mcpServerUtils.test.ts | 97 | it("uses YOUR_API_KEY placeholder when no apiKey provided", () => { | CODE |
| HIGH | …/pages/homePage/utils/__tests__/mcpServerUtils.test.ts | 103 | expect(headers).toContain("YOUR_API_KEY"); | CODE |
| HIGH | …ponents/AgentMainContent/components/AgentCardPanel.tsx | 44 | const key = requiresApiKey ? " \\\n -H 'x-api-key: <YOUR_API_KEY>'" : ""; | CODE |
| HIGH | …ponents/AgentMainContent/components/AgentCardPanel.tsx | 44 | const key = requiresApiKey ? " \\\n -H 'x-api-key: <YOUR_API_KEY>'" : ""; | CODE |
| HIGH | src/backend/tests/locust/README.md | 145 | export API_KEY="your-api-key-from-setup" | CODE |
| HIGH | src/backend/tests/locust/README.md | 269 | export API_KEY="your-api-key" | CODE |
| HIGH | src/backend/base/langflow/api/v1/endpoints.py | 1482 | x-api-key: YOUR_API_KEY | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/lfx/tests/unit/mcp/test_validate_flow.py | 154 | CODE | |
| MEDIUM | src/lfx/tests/unit/cli/test_serve_identity.py | 986 | CODE | |
| MEDIUM | src/lfx/tests/unit/cli/test_common.py | 402 | CODE | |
| MEDIUM | src/lfx/tests/unit/execution/test_registry.py | 11 | CODE | |
| MEDIUM | …c/lfx/tests/unit/execution/test_in_process_executor.py | 108 | CODE | |
| MEDIUM | src/lfx/tests/unit/run/test_base.py | 1370 | CODE | |
| MEDIUM | …/lfx/tests/unit/base/agents/test_agent_token_wiring.py | 22 | CODE | |
| MEDIUM | …lfx/base/knowledge_bases/ingestion_sources/onedrive.py | 48 | CODE | |
| MEDIUM | …x/base/knowledge_bases/ingestion_sources/sharepoint.py | 49 | CODE | |
| MEDIUM | …e/knowledge_bases/ingestion_sources/microsoft_graph.py | 50 | CODE | |
| MEDIUM | …base/knowledge_bases/ingestion_sources/google_drive.py | 49 | CODE | |
| MEDIUM | …x/src/lfx/base/knowledge_bases/ingestion_sources/s3.py | 52 | CODE | |
| MEDIUM | src/backend/tests/unit/test_redis_job_queue_service.py | 1595 | CODE | |
| MEDIUM | …nd/tests/unit/agentic/api/test_streaming_validation.py | 370 | CODE | |
| MEDIUM | …nd/tests/unit/agentic/api/test_streaming_validation.py | 421 | CODE | |
| MEDIUM | …agentic/services/test_assistant_service_step_budget.py | 67 | CODE | |
| MEDIUM | …gentic/services/test_assistant_service_error_detail.py | 27 | CODE | |
| MEDIUM | …t/agentic/services/test_assistant_service_streaming.py | 448 | CODE | |
| MEDIUM | …t/agentic/services/test_assistant_service_streaming.py | 487 | CODE | |
| MEDIUM | …/tests/unit/agentic/services/test_tool_start_events.py | 237 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_restore_point.py | 158 | CODE | |
| MEDIUM | …ntic/services/test_assistant_service_model_fallback.py | 210 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 195 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 226 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 296 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 825 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 854 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 906 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 1000 | CODE | |
| MEDIUM | …kend/tests/unit/agentic/services/test_flow_executor.py | 1023 | CODE | |
| MEDIUM | …/unit/api/v1/test_openai_responses_execution_policy.py | 112 | CODE | |
| MEDIUM | src/backend/tests/unit/api/v1/test_traces_api.py | 347 | CODE | |
| MEDIUM | src/backend/tests/unit/api/v1/test_traces_api.py | 409 | CODE | |
| MEDIUM | …ests/unit/services/test_model_provider_policy_store.py | 302 | CODE | |
| MEDIUM | …ts/unit/services/test_model_provider_policy_refresh.py | 55 | CODE | |
| MEDIUM | …ts/unit/services/test_model_provider_policy_refresh.py | 74 | CODE | |
| MEDIUM | …ts/unit/services/test_model_provider_policy_refresh.py | 231 | CODE | |
| MEDIUM | …ts/unit/services/test_model_provider_policy_refresh.py | 300 | CODE | |
| MEDIUM | …rvices/warm_registry/test_warm_registry_concurrency.py | 651 | CODE | |
| MEDIUM | …services/warm_registry/test_warm_registry_reconcile.py | 357 | CODE | |
| MEDIUM | …ase/langflow/services/background_execution/live_bus.py | 129 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/lfx/src/lfx/utils/image.py | 12 | from lfx.utils.helpers import get_mime_type | CODE |
| CRITICAL | src/lfx/src/lfx/base/data/base_file.py | 35 | from lfx.utils.helpers import build_content_type_from_extension | CODE |
| CRITICAL | …ckend/tests/unit/agentic/helpers/test_code_security.py | 3416 | "from concurrent import *\nfutures.process.mp.reduction.ForkingPickler.loads(payload)", | CODE |
| CRITICAL | src/backend/base/langflow/api/v1/files.py | 14 | from lfx.utils.helpers import build_content_type_from_extension | CODE |
| CRITICAL | src/backend/base/langflow/api/v1/mcp_utils.py | 26 | from lfx.utils.helpers import build_content_type_from_extension | CODE |
| CRITICAL | src/backend/base/langflow/services/storage/utils.py | 1 | from lfx.utils.helpers import build_content_type_from_extension | CODE |
| CRITICAL⚡ | …undles/lfx-bundles/tests/test_twelvelabs_components.py | 320 | client.return_value.embed.task.create.assert_not_called() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …nd/src/modals/apiModal/utils/get-v2-workflows-code.tsx | 170 | print(result["output"]["text"])`; | CODE |
| HIGH⚡ | …nd/src/modals/apiModal/utils/get-v2-workflows-code.tsx | 191 | print(event["data"]["chunk"], end="", flush=True) | CODE |
| HIGH⚡ | …nd/src/modals/apiModal/utils/get-v2-workflows-code.tsx | 192 | elif event["event"] == "add_message": | CODE |
| HIGH⚡ | …nd/src/modals/apiModal/utils/get-v2-workflows-code.tsx | 193 | print(event["data"]) | CODE |
| HIGH⚡ | …nd/src/modals/apiModal/utils/get-v2-workflows-code.tsx | 194 | elif event["event"] == "end": | CODE |
| HIGH⚡ | …nd/src/modals/apiModal/utils/get-v2-workflows-code.tsx | 195 | print("\\n[done]")`; | CODE |
| HIGH⚡ | …tend/src/modals/apiModal/utils/get-python-api-code.tsx | 65 | print(response.text) | CODE |
| HIGH⚡ | …tend/src/modals/apiModal/utils/get-python-api-code.tsx | 68 | print(f"Error making API request: {e}") | CODE |
| HIGH⚡ | …tend/src/modals/apiModal/utils/get-python-api-code.tsx | 70 | print(f"Error parsing response: {e}")`; | CODE |
| HIGH | …tend/src/modals/apiModal/utils/get-python-api-code.tsx | 187 | print(response.json())`; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/lfx/tests/unit/cli/test_push_command.py | 114 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_export_command.py | 92 | CODE | |
| LOW | src/lfx/tests/unit/cli/test_pull_command.py | 125 | CODE | |
| LOW | …sts/unit/base/knowledge_bases/test_postgres_backend.py | 104 | CODE | |
| LOW | src/lfx/src/lfx/memory/stubs.py | 199 | CODE | |
| LOW | src/lfx/src/lfx/memory/stubs.py | 238 | CODE | |
| LOW | src/lfx/src/lfx/graph/graph/utils.py | 870 | CODE | |
| LOW | src/lfx/src/lfx/graph/graph/base.py | 129 | CODE | |
| LOW | src/lfx/src/lfx/utils/util.py | 558 | CODE | |
| LOW | src/lfx/src/lfx/utils/ssrf_transport.py | 278 | CODE | |
| LOW | src/lfx/src/lfx/utils/ssrf_transport.py | 353 | CODE | |
| LOW | src/lfx/src/lfx/cli/run.py | 53 | CODE | |
| LOW | src/lfx/src/lfx/cli/_remote_commands.py | 68 | CODE | |
| LOW | src/lfx/src/lfx/cli/_remote_commands.py | 147 | CODE | |
| LOW | src/lfx/src/lfx/cli/_remote_commands.py | 223 | CODE | |
| LOW | src/lfx/src/lfx/cli/_authoring_commands.py | 120 | CODE | |
| LOW | src/lfx/src/lfx/cli/_running_commands.py | 13 | CODE | |
| LOW | src/lfx/src/lfx/cli/_running_commands.py | 127 | CODE | |
| LOW | src/lfx/src/lfx/cli/commands.py | 261 | CODE | |
| LOW | src/lfx/src/lfx/testing/runners.py | 305 | CODE | |
| LOW | src/lfx/src/lfx/testing/runners.py | 360 | CODE | |
| LOW | src/lfx/src/lfx/schema/log.py | 25 | CODE | |
| LOW | src/lfx/src/lfx/schema/message.py | 987 | CODE | |
| LOW | src/lfx/src/lfx/load/load.py | 145 | CODE | |
| LOW | src/lfx/src/lfx/load/load.py | 208 | CODE | |
| LOW | src/lfx/src/lfx/log/logger.py | 997 | CODE | |
| LOW | src/lfx/src/lfx/run/base.py | 198 | CODE | |
| LOW | src/lfx/src/lfx/helpers/flow.py | 258 | CODE | |
| LOW | src/lfx/src/lfx/base/mcp/util.py | 2767 | CODE | |
| LOW | src/lfx/src/lfx/base/models/model_metadata.py | 26 | CODE | |
| LOW | …fx/src/lfx/base/models/unified_models/instantiation.py | 124 | CODE | |
| LOW | …fx/src/lfx/base/models/unified_models/instantiation.py | 633 | CODE | |
| LOW | …fx/src/lfx/base/models/unified_models/instantiation.py | 932 | CODE | |
| LOW | …gflow-stepflow/tests/unit/test_tool_wrapper_handler.py | 13 | CODE | |
| LOW | …backend/tests/unit/services/tracing/test_formatting.py | 37 | CODE | |
| LOW | src/backend/base/langflow/memory.py | 89 | CODE | |
| LOW | src/backend/base/langflow/memory.py | 135 | CODE | |
| LOW | src/backend/base/langflow/memory.py | 179 | CODE | |
| LOW | src/backend/base/langflow/__main__.py | 402 | CODE | |
| LOW | …ackend/base/langflow/agentic/services/flow_executor.py | 89 | CODE | |
| LOW | …ackend/base/langflow/agentic/services/flow_executor.py | 174 | CODE | |
| LOW | …nd/base/langflow/agentic/services/assistant_service.py | 609 | CODE | |
| LOW | src/backend/base/langflow/schema/log.py | 17 | CODE | |
| LOW | src/backend/base/langflow/schema/playground_events.py | 88 | CODE | |
| LOW | src/backend/base/langflow/schema/playground_events.py | 123 | CODE | |
| LOW | src/backend/base/langflow/api/build.py | 462 | CODE | |
| LOW | src/backend/base/langflow/api/v1/store.py | 100 | CODE | |
| LOW | src/backend/base/langflow/api/v1/monitor.py | 298 | CODE | |
| LOW | src/backend/base/langflow/api/v1/models.py | 282 | CODE | |
| LOW | src/backend/base/langflow/api/v1/chat.py | 316 | CODE | |
| LOW | src/backend/base/langflow/api/v1/chat.py | 1022 | CODE | |
| LOW | src/backend/base/langflow/api/v1/authz_audit.py | 63 | CODE | |
| LOW | src/backend/base/langflow/api/v1/traces.py | 46 | CODE | |
| LOW | src/backend/base/langflow/api/v1/endpoints.py | 602 | CODE | |
| LOW | …kend/base/langflow/api/utils/knowledge_base_service.py | 90 | CODE | |
| LOW | …kend/base/langflow/api/utils/knowledge_base_service.py | 351 | CODE | |
| LOW | src/backend/base/langflow/api/v2/workflow_execution.py | 231 | CODE | |
| LOW | src/backend/base/langflow/helpers/flow.py | 395 | CODE | |
| LOW | src/backend/base/langflow/services/job_queue/service.py | 858 | CODE | |
| LOW | src/backend/base/langflow/services/store/service.py | 222 | CODE | |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/lfx/tests/unit/extension/test_validate.py | 283 | "def helper():\n" | CODE |
| LOW | …c/lfx/tests/unit/mcp/test_client_global_var_headers.py | 116 | def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …c/lfx/tests/unit/mcp/test_client_global_var_headers.py | 186 | def handle_request(request): | CODE |
| LOW | …c/lfx/tests/unit/mcp/test_client_global_var_headers.py | 216 | def handle_request(request): | CODE |
| LOW | …c/lfx/tests/unit/mcp/test_client_global_var_headers.py | 236 | def handle_request(request): | CODE |
| LOW⚡ | src/lfx/tests/unit/custom/test_annotation_validation.py | 471 | def helper(self) -> str: | CODE |
| LOW⚡ | src/lfx/tests/unit/custom/test_annotation_validation.py | 475 | def helper(self) -> str: | CODE |
| LOW | src/lfx/tests/unit/services/test_edge_cases.py | 294 | def do_something(self): | CODE |
| LOW | …fx/components/flow_controls/data_conditional_router.py | 79 | def process_data(self) -> Data | list[Data]: | CODE |
| LOW | …c/lfx/src/lfx/events/observability/lifecycle_events.py | 40 | async def my_method(self, event_manager: EventManager, data: str): | STRING |
| LOW | src/frontend/tests/assets/test-file.py | 1 | def test_function(): | CODE |
| LOW | src/backend/tests/unit/test_validate_code.py | 20 | def my_function(x: str) -> Path: | CODE |
| LOW⚡ | src/backend/tests/unit/test_validate_code.py | 122 | def my_function(x): | CODE |
| LOW⚡ | src/backend/tests/unit/test_validate_code.py | 133 | def my_function(x): | CODE |
| LOW⚡ | src/backend/tests/unit/test_validate_code.py | 144 | def my_function(x): | CODE |
| LOW⚡ | src/backend/tests/unit/test_validate_code.py | 155 | def my_function(x): | CODE |
| LOW⚡ | src/backend/tests/unit/utils/test_validate.py | 206 | def helper(): | CODE |
| LOW⚡ | src/backend/tests/unit/utils/test_validate.py | 209 | def main_function(): | CODE |
| LOW⚡ | src/backend/tests/unit/utils/test_validate.py | 418 | def my_function(): | CODE |
| LOW | src/backend/tests/unit/utils/test_validate.py | 538 | def helper(): | CODE |
| LOW | src/backend/tests/unit/utils/test_validate.py | 558 | def helper(): | CODE |
| LOW⚡ | …ckend/tests/unit/agentic/helpers/test_code_security.py | 1792 | "def helper():\n return None\n\n" | CODE |
| LOW⚡ | …ckend/tests/unit/agentic/helpers/test_code_security.py | 2913 | "import zipfile\n\n\ndef helper(m):\n return m.os.getenv('HOME')\n\n\nvalue = helper(zipfile)", | CODE |
| LOW⚡ | …ckend/tests/unit/agentic/helpers/test_code_security.py | 2914 | "import zipfile\n\n\ndef helper(m):\n return m.os.system('id')\n\n\nhelper(zipfile)", | CODE |
| LOW⚡ | …ckend/tests/unit/agentic/helpers/test_code_security.py | 2918 | "import zipfile\n\n\ndef helper(m=zipfile):\n return m.os.getenv('HOME')\n\n\nvalue = helper()", | CODE |
| LOW⚡ | …ckend/tests/unit/agentic/helpers/test_code_security.py | 2920 | "import tempfile\n\n\ndef helper(m):\n return m.os.getenv('HOME')\n\n\nvalue = helper(tempfile)", | CODE |
| LOW | …ckend/tests/unit/agentic/helpers/test_code_security.py | 1756 | "def helper():\n return None\ngetattr(helper, ''.join(['__glob', 'als__']))", | CODE |
| LOW | …ckend/tests/unit/agentic/helpers/test_code_security.py | 2591 | "def helper(value):\n return value\n\n\nclass C:\n _helper = helper\n\n" | STRING |
| LOW⚡ | src/backend/tests/unit/schema/test_cross_module.py | 35 | def process_data(data: LangflowData) -> str: | CODE |
| LOW | …onents/models_and_agents/policies/test_guarded_tool.py | 16 | def my_function(person: Person) -> str: | CODE |
| LOW | …nd/tests/unit/services/tracing/test_tracing_service.py | 659 | async def run_task( | CODE |
| LOW⚡ | src/sdk/tests/test_streaming.py | 236 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW⚡ | src/sdk/tests/test_streaming.py | 321 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | src/sdk/tests/test_streaming.py | 40 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | src/sdk/tests/test_streaming.py | 272 | def handle_request(self, request: httpx.Request) -> httpx.Response: # noqa: ARG002 | CODE |
| LOW | src/sdk/tests/test_streaming.py | 288 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW⚡ | src/sdk/tests/test_file_io.py | 161 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW⚡ | src/sdk/tests/test_file_io.py | 183 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW⚡ | src/sdk/tests/test_file_io.py | 272 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | src/sdk/tests/test_file_io.py | 68 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | src/sdk/tests/test_file_io.py | 325 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | src/sdk/tests/test_file_io.py | 355 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …ai-compatible/tests/test_openai_compatible_provider.py | 135 | def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …ai-compatible/tests/test_openai_compatible_provider.py | 176 | def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …ai-compatible/tests/test_openai_compatible_provider.py | 199 | def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …ai-compatible/tests/test_openai_compatible_provider.py | 223 | def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …ai-compatible/tests/test_openai_compatible_provider.py | 250 | def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/static/files/eval_and_remediate_cleanlab.json | 1387 | "value": "from langflow.custom import Component\nfrom langflow.io import (\n MessageTextInput,\n P | CODE |
| MEDIUM | docs/static/files/eval_and_remediate_cleanlab.json | 1428 | "value": "Based on the available information, I cannot provide a complete answer to this question." | CODE |
| MEDIUM | docs/static/files/Meeting_Notes_Agent.json | 45 | "value": "Good morning. Thanks for joining this project review meeting. We've got quite | CODE |
| MEDIUM⚡ | …backend/tests/unit/agentic/api/test_code_extraction.py | 61 | text = f"Here is the component:\n\n```python\n{VALID_COMPONENT_CODE}\n```\n\nLet me know if you need changes." | CODE |
| MEDIUM | …backend/tests/unit/agentic/api/test_code_extraction.py | 431 | Let me know if you need any modifications!""" | CODE |
| MEDIUM⚡ | …backend/tests/unit/agentic/api/test_flow_extraction.py | 33 | "Let me know if you need changes." | CODE |
| MEDIUM | …undles/src/lfx_bundles/cleanlab/cleanlab_remediator.py | 98 | value="Based on the available information, I cannot provide a complete answer to this question.", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/data/starter_projects_1_6_0/Instagram Copywriter.json | 1371 | "description": "# 📖 README\n\nWelcome to the Instagram Copywriter! This flow helps you create compelling Ins | CODE |
| HIGH | …fx/src/lfx/base/models/unified_models/model_catalog.py | 131 | # Format as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | src/backend/base/langflow/locales/en.json | 2687 | "template_notes.basic_prompting.bd8ff52b": "# 📖 README\nThis template demonstrates a standard chat flow with additiona | CODE |
| HIGH | …ow/initial_setup/starter_projects/Basic Prompting.json | 522 | "description": "# 📖 README\nThis template demonstrates a standard chat flow with additional instructions pro | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/backend/tests/unit/base/load/test_load.py | 36 | # TODO: Add tests by loading a flow and running it need to text with fake llm and check if it | COMMENT |
| LOW | src/backend/base/langflow/api/v1/mcp_projects.py | 1403 | # TODO: implement an environment variable to enable/disable stateless mode | COMMENT |
| LOW | …oogle/src/lfx_google/components/google/google_drive.py | 64 | # TODO: Add validation to check if the document ID is valid | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/lfx/src/lfx/base/huggingface/model_bridge.py | 117 | # How to use | COMMENT |
| LOW | src/lfx/src/lfx/base/huggingface/model_bridge.py | 124 | # # Example usage | COMMENT |
| LOW | src/backend/base/langflow/api/v1/endpoints.py | 1479 | ### Example usage: | STRING |