Repository Analysis

langgenius/dify

Production-ready platform for agentic workflow development.

13.7 Low AI signal View on GitHub
13.7
Adjusted Score
13.7
Raw Score
100%
Time Factor
2026-05-30
Last Push
143,137
Stars
TypeScript
Language
1,904,755
Lines of Code
10970
Files
21705
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 8HIGH 338MEDIUM 1499LOW 19860

Pattern Findings

21705 matches across 21 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers16143 hits · 15357 pts
SeverityFileLineSnippet
LOWdify-agent/tests/docs/test_examples.py37def test_documentation_examples(example: CodeExample, eval_example: EvalExample) -> None:
LOWdify-agent/tests/docs/test_snippets.py13def test_parse_snippet_directive() -> None:
LOWdify-agent/tests/docs/test_snippets.py22def test_parse_file_sections_and_inject_snippet(tmp_path: Path) -> None:
LOWdify-agent/tests/local/test_packaging.py31def test_project_dependencies_split_client_and_server_requirements() -> None:
LOWdify-agent/tests/local/test_packaging.py39def test_default_package_discovery_excludes_example_packages() -> None:
LOW…nt/tests/local/agenton/layers/test_schema_inference.py44def test_layer_infers_config_and_runtime_state_from_generics() -> None:
LOW…nt/tests/local/agenton/layers/test_schema_inference.py54def test_layer_uses_empty_schema_defaults_when_omitted() -> None:
LOW…nt/tests/local/agenton/layers/test_schema_inference.py62def test_invalid_declared_schema_type_is_rejected_clearly() -> None:
LOW…nt/tests/local/agenton/layers/test_schema_inference.py84def test_layer_provider_uses_inferred_schema_types() -> None:
LOW…fy-agent/tests/local/agenton/layers/test_layer_deps.py13def test_layer_deps_rejects_mismatched_runtime_layer_class() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py48def test_same_compositor_enters_multiple_times_with_fresh_layers_and_snapshot_resume() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py85def test_concurrent_enters_do_not_share_layer_instances() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py128def test_custom_factory_is_called_each_enter_with_typed_config() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py155def test_provider_rejects_reused_layer_instance_before_hooks_run() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py179def test_configs_are_validated_by_node_name_before_factory_call() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py199def test_all_node_configs_are_validated_before_any_factory_runs() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py220def test_existing_config_model_instances_are_revalidated_before_factory_runs() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py239def test_existing_snapshot_model_instances_are_revalidated_before_factory_runs() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py287def test_snapshot_hydrates_runtime_state_and_exit_snapshots_from_layer_self() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py290 async def create_suspend_resume_delete() -> tuple[CompositorSessionSnapshot, CompositorSessionSnapshot]:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py338def test_run_snapshot_rejects_active_layers() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py349def test_active_snapshot_input_is_rejected_before_factories_run() -> None:
LOWdify-agent/tests/local/agenton/compositor/test_enter.py371def test_closed_snapshot_enter_is_rejected_before_hooks_run() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py52def test_direct_deps_access_uses_explicit_dependency_rename() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py70def test_direct_deps_access_uses_explicit_same_name_dependency() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py88def test_optional_missing_dependency_is_bound_to_none() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py99def test_missing_required_dependency_is_rejected_before_hooks() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py106def test_unknown_dependency_mapping_is_rejected_for_compositor_construction() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py111def test_undefined_dependency_target_is_rejected_for_compositor_construction() -> None:
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py116def test_duplicate_layer_node_name_is_rejected() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py52def test_layer_provider_from_layer_type_uses_declared_schema_and_type_id() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py68def test_compositor_from_config_uses_providers_and_enter_configs_by_node_name() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py87def test_layer_node_config_has_no_runtime_state_or_layer_config() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py105def test_node_providers_override_type_id_providers_for_serializable_graphs() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py123def test_from_config_rejects_missing_duplicate_and_unknown_providers() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py147def test_compositor_run_get_layer_returns_named_layer_and_validates_type() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py177def test_python_native_construction_mixes_layer_classes_and_providers() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py217def test_snapshot_contains_runtime_state_only_not_config_deps_or_resources() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py240def test_hydrate_validates_runtime_state_and_resume_mutates_layer_self() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py267def test_hydrate_rejects_mismatched_snapshot_layer_names() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py279def test_removed_lifecycle_and_resource_apis_are_not_public_exports() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py296def test_facade_keeps_direct_import_type_aliases_without_expanding___all__() -> None:
LOW…ests/local/agenton/compositor/test_builder_snapshot.py307def test_facade_export_surface_matches_split_contract() -> None:
LOW…nt/tests/local/agenton/compositor/test_transformers.py82def test_compositor_transformer_kwargs_keys_match_constructor_parameters() -> None:
LOW…nt/tests/local/agenton/compositor/test_transformers.py91def test_compositor_transformer_kwargs_keys_match_from_config_parameters() -> None:
LOW…nt/tests/local/agenton/compositor/test_transformers.py99def test_compositor_transforms_prompts_to_another_type_after_layer_ordering() -> None:
LOW…nt/tests/local/agenton/compositor/test_transformers.py120def test_compositor_transforms_tools_to_another_type_after_layer_aggregation() -> None:
LOW…nt/tests/local/agenton/compositor/test_transformers.py133def test_compositor_transforms_user_prompts_after_layer_ordering() -> None:
LOW…agent/tests/local/dify_agent/test_import_boundaries.py52def test_dify_agent_root_import_is_client_safe() -> None:
LOW…agent/tests/local/dify_agent/test_import_boundaries.py77def test_protocol_and_dify_plugin_exports_do_not_import_server_only_modules() -> None:
LOW…agent/tests/local/dify_agent/test_import_boundaries.py110def test_agenton_collection_roots_do_not_eagerly_import_pydantic_ai_implementations() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py20def test_dify_plugin_package_exports_client_safe_config_symbols_only() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py40def test_dify_plugin_llm_config_accepts_scalar_credentials_and_model_settings() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py65def test_dify_plugin_llm_config_rejects_old_provider_field() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py76def test_dify_plugin_tools_layer_config_accepts_prepared_parameters_and_schema() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py120def test_dify_plugin_tool_parameter_accepts_api_tool_parameter_dump_shape() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py151def test_dify_plugin_tool_parameter_accepts_api_tool_parameter_attributes() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py173def test_dify_plugin_tool_config_rejects_non_json_runtime_parameters() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py186def test_dify_plugin_tool_config_rejects_non_json_schema_values() -> None:
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py199def test_dify_plugin_tool_config_rejects_strict_flag() -> None:
16083 more matches not shown…
Decorative Section Separators1148 hits · 4239 pts
SeverityFileLineSnippet
MEDIUMdocker/docker-compose.yaml1# ==================================================================
MEDIUMdocker/docker-compose.yaml5# ==================================================================
MEDIUMdocker/dify-env-sync.py3# ================================================================
MEDIUMdocker/dify-env-sync.py12# ================================================================
MEDIUMdocker/dify-env-sync.sh3# ================================================================
MEDIUMdocker/dify-env-sync.sh12# ================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh4# ================================
MEDIUMsdks/nodejs-client/scripts/publish.sh17# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh19# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh126 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh128 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh163 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh165 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh186 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh188 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh194 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh196 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh206 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh208 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh228 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh230 # ========================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh30# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh32# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh82# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh84# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh113# ============================================================================
MEDIUMsdks/nodejs-client/scripts/publish.sh115# ============================================================================
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts20// ── cloneTime ──────────────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts32// ── getDaysInMonth ─────────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts60// ── getHourIn12Hour ─────────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts78// ── getDateWithTimezone ─────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts104// ── isDayjsObject ───────────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts116// ── toDayjs ────────────────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts259// ── parseDateWithFormat ────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts295// ── formatDateForOutput ────────────────────────────────────────────────────
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts313// ── convertTimezoneToOffsetStr ─────────────────────────────────────────────
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx8// ─── Why each mock exists ─────────────────────────────────────────────────────
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx24// ─────────────────────────────────────────────────────────────────────────────
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx78// ─── ResizeObserver capture ───────────────────────────────────────────────────
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx91// ─── Factories ────────────────────────────────────────────────────────────────
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx116// ─── Suite ────────────────────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx11// ─── Helpers ──────────────────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx56// ─── Setup / teardown ─────────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx77// ─── Rendering ────────────────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx103// ─── Play / Pause toggle ──────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx177// ─── Audio events ─────────────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx228// ─── Waveform generation ──────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx328// ─── Canvas interactions ──────────────────────────────────────────────────────
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx419// ─── Missing coverage tests ───────────────────────────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/index.spec.tsx68// ─── Typed factories (no `any` / `never`) ────────────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/index.spec.tsx109// ─── Test harness ────────────────────────────────────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/index.spec.tsx267// ─── Tests ───────────────────────────────────────────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx31// ─── Helpers ─────────────────────────────────────────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx57// ─── Factory helpers (typed, no `any` / `never`) ─────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx101// ─── Shared mock render-prop arguments ───────────────────────────────────────
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx110// ═══════════════════════════════════════════════════════════════════════════════
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx112// ═══════════════════════════════════════════════════════════════════════════════
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx410// ═══════════════════════════════════════════════════════════════════════════════
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx412// ═══════════════════════════════════════════════════════════════════════════════
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx579// ═══════════════════════════════════════════════════════════════════════════════
1088 more matches not shown…
Cross-File Repetition239 hits · 1195 pts
SeverityFileLineSnippet
HIGHapi/core/provider_manager.py0extract secret input form variables. :param credential_form_schemas: :return:
HIGHapi/core/entities/provider_configuration.py0extract secret input form variables. :param credential_form_schemas: :return:
HIGHapi/services/datasource_provider_service.py0extract secret input form variables. :param credential_form_schemas: :return:
HIGHapi/core/datasource/datasource_file_manager.py0get file binary :param id: the id of the file :return: the binary of the file, mime type
HIGHapi/core/datasource/datasource_file_manager.py0get file binary :param id: the id of the file :return: the binary of the file, mime type
HIGHapi/core/tools/tool_file_manager.py0get file binary :param id: the id of the file :return: the binary of the file, mime type
HIGHapi/core/tools/tool_file_manager.py0get file binary :param id: the id of the file :return: the binary of the file, mime type
HIGHapi/core/datasource/entities/datasource_entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/tools/entities/tool_entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/tools/entities/tool_entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/tools/entities/tool_entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/app/app_config/entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/app/app_config/entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/entities/provider_entities.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/models/model.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/models/workflow.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/models/workflow.py0get value of given mode. :param value: mode value :return: mode
HIGHapi/core/tools/workflow_as_tool/tool.py0fork a new tool with metadata :return: the new tool
HIGHapi/core/tools/__base/tool.py0fork a new tool with metadata :return: the new tool
HIGHapi/core/tools/custom_tool/tool.py0fork a new tool with metadata :return: the new tool
HIGHapi/core/tools/builtin_tool/tool.py0fork a new tool with metadata :return: the new tool
HIGHapi/core/tools/plugin_tool/provider.py0returns the type of the provider :return: type of the provider
HIGHapi/core/tools/__base/tool_provider.py0returns the type of the provider :return: type of the provider
HIGHapi/core/tools/mcp_tool/provider.py0returns the type of the provider :return: type of the provider
HIGHapi/core/tools/builtin_tool/provider.py0returns the type of the provider :return: type of the provider
HIGH…core/app/features/annotation_reply/annotation_reply.py0query app annotations to reply :param app_record: app record :param message: message :param query: query :param user_id:
HIGHapi/core/app/apps/base_app_runner.py0query app annotations to reply :param app_record: app record :param message: message :param query: query :param user_id:
HIGHapi/core/app/apps/advanced_chat/app_runner.py0query app annotations to reply :param app_record: app record :param message: message :param query: query :param user_id:
HIGH…e/app/app_config/features/opening_statement/manager.py0convert model config to model config :param config: model config args
HIGH…core/app/app_config/features/speech_to_text/manager.py0convert model config to model config :param config: model config args
HIGH…g/features/suggested_questions_after_answer/manager.py0convert model config to model config :param config: model config args
HIGH…core/app/app_config/features/more_like_this/manager.py0convert model config to model config :param config: model config args
HIGH…core/app/app_config/features/text_to_speech/manager.py0convert model config to model config :param config: model config args
HIGH…p/app_config/easy_ui_based_app/model_config/manager.py0convert model config to model config :param config: model config args
HIGH…re/app/app_config/easy_ui_based_app/dataset/manager.py0convert model config to model config :param config: model config args
HIGH…core/app/app_config/easy_ui_based_app/agent/manager.py0convert model config to model config :param config: model config args
HIGH…/app/app_config/easy_ui_based_app/variables/manager.py0convert model config to model config :param config: model config args
HIGHapi/core/app/apps/base_app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:
HIGHapi/core/app/apps/base_app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:
HIGHapi/core/app/apps/message_based_app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:
HIGHapi/core/app/apps/pipeline/pipeline_queue_manager.py0publish event to queue :param event: :param pub_from: :return:
HIGHapi/core/app/apps/workflow/app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:
HIGHapi/core/app/apps/pipeline/pipeline_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account
HIGHapi/core/app/apps/pipeline/pipeline_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account
HIGHapi/core/app/apps/workflow/app_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account
HIGHapi/core/app/apps/workflow/app_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account
HIGHapi/core/app/apps/advanced_chat/app_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:
HIGHapi/core/app/apps/chat/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:
HIGH…ore/app/apps/completion/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:
HIGH…/core/app/apps/workflow/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:
HIGH…/app/apps/advanced_chat/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:
HIGH…ore/app/apps/agent_chat/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:
HIGHapi/core/app/apps/chat/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:
HIGH…ore/app/apps/completion/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:
HIGH…/core/app/apps/workflow/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:
HIGH…/app/apps/advanced_chat/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:
HIGH…ore/app/apps/agent_chat/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:
179 more matches not shown…
Excessive Try-Catch Wrapping1128 hits · 1158 pts
SeverityFileLineSnippet
MEDIUM…fy-agent/examples/agenton/agenton_examples/__main__.py36 print(f'Error: destination path "{destination}" already exists', file=sys.stderr)
MEDIUM…nt/examples/dify_agent/dify_agent_examples/__main__.py37 print(f'Error: destination path "{destination}" already exists', file=sys.stderr)
LOW…agent/src/dify_agent/layers/dify_plugin/tool_client.py124 except Exception:
LOWdify-agent/src/dify_agent/runtime/runner.py96 except Exception as exc:
LOWdify-agent/src/dify_agent/runtime/run_scheduler.py134 except Exception:
LOWdify-agent/src/dify_agent/runtime/run_scheduler.py153 except Exception:
LOWscripts/stress-test/run_locust_stress_test.sh196except Exception as e:
LOWscripts/stress-test/setup_all.py46 except Exception as e:
LOWscripts/stress-test/setup_all.py65 except Exception as e:
LOWscripts/stress-test/cleanup.py83 except Exception as e:
LOWscripts/stress-test/sse_benchmark.py508 except Exception as e:
LOWscripts/stress-test/sse_benchmark.py533 except Exception as e:
LOWscripts/stress-test/setup/install_openai_plugin.py152 except Exception as e:
LOWscripts/stress-test/setup/login_admin.py96 except Exception as e:
LOWscripts/stress-test/setup/import_workflow_app.py123 except Exception as e:
LOWscripts/stress-test/setup/configure_openai_plugin.py92 except Exception as e:
LOWscripts/stress-test/setup/create_api_key.py108 except Exception as e:
LOWscripts/stress-test/setup/publish_workflow.py100 except Exception as e:
LOWscripts/stress-test/setup/setup_admin.py66 except Exception as e:
LOWscripts/stress-test/setup/run_workflow.py150 except Exception as e:
LOWapi/app_factory.py92 except Exception:
LOWapi/app_factory.py115 except Exception:
MEDIUMapi/app_factory.py101def add_trace_headers(response):
LOWapi/clients/agent_backend/client.py83 except Exception as exc:
LOWapi/clients/agent_backend/client.py90 except Exception as exc:
LOWapi/clients/agent_backend/client.py97 except Exception as exc:
LOWapi/clients/agent_backend/client.py104 except Exception as exc:
LOWapi/schedule/update_api_token_last_used_task.py104 except Exception:
LOWapi/schedule/mail_clean_document_notify_task.py100 except Exception:
LOWapi/schedule/update_tidb_serverless_status_task.py32 except Exception as e:
LOWapi/schedule/update_tidb_serverless_status_task.py53 except Exception as e:
LOWapi/schedule/clean_workflow_runlogs_precise.py98 except Exception:
LOWapi/schedule/clean_workflow_runlogs_precise.py166 except Exception:
LOWapi/schedule/queue_monitor_task.py75 except Exception:
LOWapi/schedule/queue_monitor_task.py78 except Exception:
LOWapi/schedule/check_upgradable_plugin_task.py60 except Exception as e:
LOWapi/schedule/clean_workflow_runs_task.py68 except Exception as e:
LOWapi/schedule/create_tidb_serverless_task.py33 except Exception as e:
LOWapi/schedule/create_tidb_serverless_task.py66 except Exception as e:
MEDIUMapi/schedule/create_tidb_serverless_task.py41def create_clusters(batch_size):
LOWapi/schedule/clean_unused_datasets_task.py150 except Exception as e:
LOWapi/schedule/clean_messages.py69 except Exception as e:
LOWapi/tasks/regenerate_summary_index_task.py156 except Exception as e:
LOWapi/tasks/regenerate_summary_index_task.py168 except Exception as e:
LOWapi/tasks/regenerate_summary_index_task.py266 except Exception as e:
LOWapi/tasks/regenerate_summary_index_task.py282 except Exception as e:
LOWapi/tasks/regenerate_summary_index_task.py313 except Exception:
LOWapi/tasks/mail_register_task.py46 except Exception:
LOWapi/tasks/mail_register_task.py86 except Exception:
LOWapi/tasks/mail_workflow_comment_task.py64 except Exception:
LOWapi/tasks/generate_summary_index_task.py106 except Exception as e:
LOWapi/tasks/delete_account_task.py22 except Exception:
LOWapi/tasks/enable_segments_to_index_task.py118 except Exception as e:
LOWapi/tasks/enable_segments_to_index_task.py123 except Exception as e:
LOWapi/tasks/deal_dataset_index_update_task.py90 except Exception as e:
LOWapi/tasks/deal_dataset_index_update_task.py185 except Exception as e:
LOWapi/tasks/deal_dataset_index_update_task.py203 except Exception:
LOWapi/tasks/mail_inner_task.py60 except Exception:
LOWapi/tasks/remove_app_and_related_data_task.py320 except Exception:
LOWapi/tasks/remove_app_and_related_data_task.py329 except Exception:
1068 more matches not shown…
Unused Imports1196 hits · 1054 pts
SeverityFileLineSnippet
LOWdify-agent/tests/docs/test_examples.py1
LOWdify-agent/tests/docs/test_snippets.py1
LOWdify-agent/tests/local/test_packaging.py1
LOW…agent/tests/local/dify_agent/test_import_boundaries.py1
LOWdify-agent/tests/local/dify_agent/server/test_app.py1
LOWdify-agent/tests/local/dify_agent/client/test_client.py1
LOW…agent/tests/local/examples/test_dify_agent_examples.py1
LOWdify-agent/docs/.hooks/snippets.py1
LOWdify-agent/docs/.hooks/main.py1
LOW…/examples/agenton/agenton_examples/session_snapshot.py3
LOWdify-agent/examples/agenton/agenton_examples/basics.py3
LOW…xamples/agenton/agenton_examples/pydantic_ai_bridge.py10
LOW…fy-agent/examples/agenton/agenton_examples/__main__.py3
LOW…ify_agent/dify_agent_examples/run_pydantic_ai_agent.py17
LOW…nt/examples/dify_agent/dify_agent_examples/__main__.py3
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py8
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/__init__.py19
LOWdify-agent/src/agenton/layers/types.py19
LOWdify-agent/src/agenton/compositor/__init__.py23
LOWdify-agent/src/agenton/compositor/__init__.py23
LOWdify-agent/src/agenton/compositor/__init__.py25
LOWdify-agent/src/agenton/compositor/__init__.py25
LOWdify-agent/src/agenton/compositor/__init__.py26
LOWdify-agent/src/agenton/compositor/__init__.py26
LOWdify-agent/src/agenton/compositor/__init__.py27
LOWdify-agent/src/agenton/compositor/__init__.py27
LOWdify-agent/src/agenton/compositor/__init__.py27
LOWdify-agent/src/agenton/compositor/__init__.py27
LOWdify-agent/src/agenton/compositor/__init__.py27
LOWdify-agent/src/agenton/compositor/__init__.py27
LOWdify-agent/src/agenton/compositor/__init__.py35
LOWdify-agent/src/agenton/compositor/__init__.py35
LOWdify-agent/src/dify_agent/plugin_daemon_transport.py8
LOWdify-agent/src/dify_agent/__init__.py8
LOW…agent/src/dify_agent/layers/dify_plugin/tools_layer.py14
LOW…fy-agent/src/dify_agent/layers/dify_plugin/__init__.py7
1136 more matches not shown…
Self-Referential Comments254 hits · 771 pts
SeverityFileLineSnippet
MEDIUMscripts/stress-test/common/config_helper.py284# Create a default instance for convenience
MEDIUMapi/celery_healthcheck.py1# This module provides a lightweight Celery instance for use in Docker health checks.
MEDIUMapi/core/app/apps/pipeline/pipeline_runner.py116 # Create a variable pool.
MEDIUMapi/core/app/apps/workflow/app_runner.py101 # Create a variable pool.
MEDIUMapi/core/app/apps/advanced_chat/app_runner.py174 # Initialize conversation variables
MEDIUMapi/core/app/apps/advanced_chat/app_runner.py177 # Create a variable pool.
MEDIUMapi/core/plugin/utils/chunk_merger.py78 # Create the appropriate message type based on the response type
MEDIUM…positories/sqlalchemy_workflow_execution_repository.py196 # Create a new database session
MEDIUMapi/core/mcp/auth_client.py84 # Create a temporary session only for auth retry
MEDIUMapi/core/rag/index_processor/index_processor_base.py206 # Create a mapping from ID to UploadFile for quick lookup
MEDIUMapi/core/rag/index_processor/index_processor_base.py209 # Create a Document for each occurrence (including duplicates)
MEDIUM…index_processor/processor/paragraph_index_processor.py147 # This method is called for actual deletion scenarios (e.g., when segment is deleted).
MEDIUM…ex_processor/processor/parent_child_index_processor.py155 # This method is called for actual deletion scenarios (e.g., when segment is deleted).
MEDIUM…re/rag/index_processor/processor/qa_index_processor.py158 # This method is called for actual deletion scenarios (e.g., when segment is deleted).
MEDIUMapi/core/schemas/resolver.py267 # Create a copy and remove metadata fields
MEDIUMapi/core/workflow/workflow_entry.py407 # Create a minimal graph for single node execution
MEDIUMapi/core/ops/ops_trace_manager.py376 # Create a new instance of the config class with the new configuration
MEDIUMapi/constants/recommended_apps.json468 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: advanced-chat\n name:
MEDIUM…ix/src/dify_trace_arize_phoenix/arize_phoenix_trace.py233 # Create a named tracer instead of setting the global provider
MEDIUM…iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py118 # Define the table schema
MEDIUM…iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py174 # Define the table schema
MEDIUM…iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py256 # Define the base query
MEDIUM…/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py684 # Create a document with doc_type metadata (as produced by multimodal indexing)
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py333 # Create the text field, enable_analyzer will be set True to support milvus automatically
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py348 # Create the primary key field
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py350 # Create the vector field, supports binary or float vectors
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py381 # Create the collection
MEDIUM…unit_tests/tasks/test_workflow_node_execution_tasks.py191# # Create a mock task instance with proper retry behavior
MEDIUM…unit_tests/tasks/test_workflow_node_execution_tasks.py472# # Create a mock task instance with proper retry behavior
MEDIUMapi/tests/unit_tests/tasks/test_mail_send_task.py1370 # Create a large HTML body (simulating a newsletter)
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py28 # Create a mock tool entity
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py37 # Create a mock API bundle
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py47 # Create a mock runtime
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py51 # Create the ApiTool instance
MEDIUMapi/tests/unit_tests/core/test_file.py23 # Create a feature dict that mimics the old structure with image config
MEDIUMapi/tests/unit_tests/core/test_file.py30 # Create a workflow instance with the features
MEDIUM…sts/unit_tests/core/datasource/test_notion_provider.py1585 # Create a custom query filter
MEDIUM…tests/unit_tests/core/datasource/test_website_crawl.py1538 # Create a crawl message with results
MEDIUM…it_tests/core/datasource/entities/test_api_entities.py63 # Create a parameter that should be converted
MEDIUM…tests/unit_tests/core/tools/test_tool_label_manager.py15# Create a mock class for testing abstract/base classes
MEDIUM…sts/core/app/features/rate_limiting/test_rate_limit.py410 # Create a generator-like object without close method
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py90 # Create a mock runner with the method bound
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py151 # Create a small test image (1x1 PNG)
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py177 # Create a mock runner with the method bound
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py250 # Create a mock runner with the method bound
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py289 # Create a mock runner with the method bound
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py333 # Create a mock runner with the method bound
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py387 # Create a mock runner with the method bound
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py439 # Create a mock runner with the method bound
MEDIUM…/common/test_workflow_response_converter_truncation.py421 # Create a minimal WorkflowUIBasedAppConfig for testing
MEDIUM…/common/test_workflow_response_converter_truncation.py520 # Create a test event with large data
MEDIUM…/common/test_workflow_response_converter_truncation.py561 # Create a test event with large data
MEDIUM…/common/test_workflow_response_converter_truncation.py601 # Create a test event with large data
MEDIUM…sts/unit_tests/core/memory/test_token_buffer_memory.py960 # Create a mock message with a SYSTEM role
MEDIUMapi/tests/unit_tests/core/plugin/test_plugin_runtime.py537 # Create a proper nested JSON structure for PluginInvokeError
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py14 # Create a simple GET request
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py32 # Create a GET request with query parameters
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py49 # Create a POST request with body
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py74 # Create a request with custom headers
MEDIUM…ositories/test_celery_workflow_execution_repository.py27 # Create a real sessionmaker with in-memory SQLite for testing
194 more matches not shown…
Deep Nesting599 hits · 515 pts
SeverityFileLineSnippet
LOWdocker/dify-env-sync.py293
LOWdify-agent/docs/.hooks/snippets.py130
LOW…agent/src/dify_agent/layers/dify_plugin/tools_layer.py165
LOW…agent/src/dify_agent/layers/dify_plugin/tools_layer.py296
LOWdify-agent/src/dify_agent/layers/output/output_layer.py214
LOWdify-agent/src/dify_agent/layers/output/output_layer.py271
LOWdify-agent/src/dify_agent/layers/output/output_layer.py226
LOWdify-agent/src/dify_agent/storage/redis_run_store.py109
LOWdify-agent/src/dify_agent/adapters/llm/model.py249
LOWdify-agent/src/dify_agent/adapters/llm/model.py280
LOWdify-agent/src/dify_agent/adapters/llm/model.py307
LOWdify-agent/src/dify_agent/adapters/llm/model.py327
LOWdify-agent/src/dify_agent/adapters/llm/model.py374
LOWdify-agent/src/dify_agent/adapters/llm/model.py553
LOWdify-agent/src/dify_agent/adapters/llm/model.py593
LOWdify-agent/src/dify_agent/adapters/llm/model.py662
LOWdify-agent/src/dify_agent/client/_client.py426
LOWdify-agent/src/dify_agent/client/_client.py534
LOWscripts/stress-test/sse_benchmark.py559
LOWscripts/stress-test/sse_benchmark.py326
LOWscripts/stress-test/sse_benchmark.py400
LOWscripts/stress-test/sse_benchmark.py567
LOWscripts/stress-test/setup/install_openai_plugin.py14
LOWscripts/stress-test/setup/login_admin.py14
LOWscripts/stress-test/setup/import_workflow_app.py14
LOWscripts/stress-test/setup/configure_openai_plugin.py12
LOWscripts/stress-test/setup/create_api_key.py14
LOWscripts/stress-test/setup/publish_workflow.py14
LOWscripts/stress-test/setup/setup_admin.py12
LOWscripts/stress-test/setup/run_workflow.py14
LOWapi/app_factory.py49
LOWapi/app_factory.py60
LOWapi/schedule/update_api_token_last_used_task.py28
LOWapi/schedule/mail_clean_document_notify_task.py22
LOWapi/schedule/clean_workflow_runlogs_precise.py44
LOWapi/schedule/clean_workflow_runlogs_precise.py107
LOWapi/schedule/queue_monitor_task.py34
LOWapi/schedule/workflow_schedule_task.py18
LOWapi/schedule/clean_unused_datasets_task.py26
LOWapi/tasks/regenerate_summary_index_task.py21
LOWapi/tasks/enable_segments_to_index_task.py22
LOWapi/tasks/deal_dataset_index_update_task.py18
LOWapi/tasks/remove_app_and_related_data_task.py682
LOWapi/tasks/clean_document_task.py19
LOWapi/tasks/retry_document_indexing_task.py23
LOWapi/tasks/duplicate_document_indexing_task.py79
LOWapi/tasks/enable_segment_to_index_task.py22
LOW…/tasks/process_tenant_plugin_autoupgrade_check_task.py76
LOWapi/tasks/document_indexing_task.py49
LOWapi/tasks/document_indexing_task.py193
LOWapi/tasks/deal_dataset_vector_index_task.py20
LOWapi/tasks/recover_document_indexing_task.py16
LOWapi/tasks/batch_clean_document_task.py24
LOWapi/tasks/add_document_to_index_task.py23
LOWapi/tasks/remove_document_from_index_task.py18
LOWapi/tasks/sync_website_document_indexing_task.py21
LOWapi/tasks/clean_dataset_task.py33
LOWapi/tasks/trigger_processing_tasks.py230
LOWapi/tasks/delete_segment_from_index_task.py17
LOWapi/tasks/ops_trace_task.py47
539 more matches not shown…
Docstring Block Structure72 hits · 360 pts
SeverityFileLineSnippet
HIGHapi/context/flask_app_context.py57 Capture current Flask execution context. This function captures the Flask app context and contextvars from the
HIGHapi/core/tools/utils/system_encryption.py47 Encrypt parameters. Args: params: Parameters dictionary, e.g., {"client_id": "xxx", "clien
HIGHapi/core/tools/utils/system_encryption.py82 Decrypt parameters. Args: encrypted_data: Base64-encoded encrypted string Returns
HIGHapi/core/app/apps/workflow_app_runner.py175 Prepare graph, variable pool, and runtime state for single node execution (either single iteration or s
HIGHapi/core/plugin/utils/chunk_merger.py27 Merge streaming blob chunks into complete blob messages. This function processes a stream of plugin invoke mes
HIGHapi/core/repositories/factory.py69 Create a WorkflowExecutionRepository instance based on configuration. Args: session_factor
HIGHapi/core/repositories/factory.py105 Create a WorkflowNodeExecutionRepository instance based on configuration. Args: session_fa
HIGHapi/core/mcp/auth_client.py126 Execute a function with authentication retry logic. Args: func: The function to execute
HIGHapi/core/mcp/auth_client.py187 Invoke a tool on the MCP server with auth retry. Args: tool_name: Name of the tool to invo
HIGHapi/core/mcp/auth/auth_flow.py370 Parse OAuth token response supporting both JSON and form-urlencoded formats. Per RFC 6749 Section 5.1, the sta
HIGHapi/core/mcp/client/sse_client.py198Wait for the endpoint URL from the status queue. Args: status_queue: Queue to read status from.
HIGHapi/core/schemas/resolver.py86 Resolve all $ref references in the schema Performance optimization: quickly checks for $ref presence b
HIGHapi/core/schemas/resolver.py228 Resolve $ref references in Dify schema to actual schema content This is a convenience function that creates a
HIGHapi/core/ops/utils.py70 Validate and normalize URL with proper error handling. NOTE: This function does not retain the `path` componen
HIGHapi/core/ops/utils.py107 Validate URL that may include path components Args: url: The URL to validate default_url: Defa
HIGHapi/core/ops/base_trace_instance.py33 Get service account for an app and set up its tenant. Args: app_id: The ID of the app
HIGHapi/core/helper/csv_sanitizer.py24 Sanitize a value for safe CSV export. Prefixes formula-initiating characters with a single quote to pr
HIGHapi/core/helper/csv_sanitizer.py63 Sanitize specified fields in a dictionary. Args: data: Dictionary containing data to sanit
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py702 Create a new workflow pause state. Creates a pause state for a workflow run, storing the current execu
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py834 Get an existing workflow pause state. Retrieves the pause state for a specific workflow run if it exis
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py874 Resume a paused workflow. Marks a paused workflow as resumed, clearing the pause state and ret
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py981 Clean up expired and old pause states. Removes pause states that have expired (created before expirati
HIGHapi/repositories/factory.py30 Create a DifyAPIWorkflowNodeExecutionRepository instance based on configuration. This repository is de
HIGHapi/repositories/factory.py59 Create an APIWorkflowRunRepository instance based on configuration. This repository is designed for se
HIGHapi/repositories/api_workflow_run_repository.py86 Get paginated workflow runs with filtering. Retrieves workflow runs for a specific app and trigger sou
HIGHapi/repositories/api_workflow_run_repository.py427 Create a new workflow pause state. Creates a pause state for a workflow run, storing the current execu
HIGHapi/repositories/api_workflow_run_repository.py463 Resume a paused workflow. Marks a paused workflow as resumed, set the `resumed_at` field of WorkflowPa
HIGHapi/repositories/api_workflow_run_repository.py518 Clean up expired and old pause states. Removes pause states that have expired (created before expirati
HIGHapi/extensions/logstore/sql_escape.py18 Escape a string value for safe use in SQL queries. This function escapes single quotes by doubling them, which
HIGHapi/extensions/logstore/sql_escape.py53 Escape an identifier (tenant_id, app_id, run_id, etc.) for safe SQL use. This function is for PG protocol mode
HIGHapi/extensions/logstore/sql_escape.py82 Escape value for LogStore query syntax (SDK mode). LogStore query syntax rules: 1. Keywords (and/or/not) a
HIGHapi/libs/schedule_utils.py55 Parse 12-hour time format to 24-hour format for cron compatibility. Args: time_str: Time string in for
HIGHapi/libs/archive_storage.py90 Upload an object to the archive storage. Args: key: Object key (path) within the bucket
HIGHapi/libs/archive_storage.py123 Download an object from the archive storage. Args: key: Object key (path) within the bucke
HIGHapi/libs/archive_storage.py146 Stream an object from the archive storage. Args: key: Object key (path) within the bucket
HIGHapi/libs/archive_storage.py201 Generate a pre-signed URL for downloading an object. Args: key: Object key (path) within t
HIGHapi/libs/uuid_utils.py116Extract the timestamp from a UUIDv7. UUIDv7 contains a 48-bit timestamp field representing milliseconds since t
HIGHapi/libs/custom_inputs.py7 Validate and return time duration string. Accepts formats: <number>d (days), <number>h (hours), <number>m (min
HIGHapi/libs/helper.py70 Escape special characters in a string for safe use in SQL LIKE patterns. This function escapes the special cha
HIGHapi/libs/helper.py102 Extract tenant_id from Account or EndUser object. Args: user: Account or EndUser object Returns:
HIGHapi/libs/datetime_utils.py41 Parse time range strings and convert to UTC datetime objects. Handles DST ambiguity and non-existent times grac
HIGHapi/libs/module_loading.py32 Import a dotted module path and return the attribute/class designated by the last name in the path. Raise Impor
HIGHapi/configs/middleware/vdb/iris_config.py70Validate IRIS configuration values. Args: values: Configuration dictionary Returns:
HIGHapi/controllers/web/files.py36Upload a file for use in web applications. Accepts file uploads for use within web applications, supporting
HIGHapi/controllers/web/remote_files.py46Get information about a remote file. Retrieves basic information about a file located at a remote URL,
HIGHapi/controllers/web/remote_files.py90Upload a file from a remote URL. Downloads a file from the provided remote URL and uploads it to the pl
HIGHapi/controllers/mcp/mcp.py53Handle MCP requests for a specific server. Processes JSON-RPC formatted requests according to the Model Context
HIGHapi/controllers/service_api/app/file_preview.py81 Validate that the file belongs to a message within the requesting app's context Security validations p
HIGHapi/controllers/service_api/dataset/dataset.py484 Deletes a dataset given its ID. Args: _: ignore dataset_id (UUID): The ID of t
HIGHapi/controllers/service_api/dataset/dataset.py539 Batch update document status. Args: tenant_id: tenant id dataset_id: dataset i
HIGHapi/controllers/console/datasets/datasets.py307 Get supported retrieval methods based on vector database type. Args: vector_type: Vector database type
HIGHapi/services/async_workflow_service.py56 Universal entry point for async workflow execution - THIS METHOD WILL NOT BLOCK Creates a trigger log
HIGHapi/services/async_workflow_service.py192 Re-invoke a previously failed or rate-limited trigger - THIS METHOD WILL NOT BLOCK Updates the existin
HIGHapi/services/async_workflow_service.py314 Get workflow for the app Args: app_model: App model instance workflow_id: Opti
HIGHapi/services/conversation_service.py284 Update a conversation variable's value. Args: app_model: The app model convers
HIGHapi/services/model_provider_service.py34 Get provider configuration or raise exception if not found. Args: tenant_id: Workspace ide
HIGHapi/services/summary_index_service.py54 Generate summary for a single segment. Args: segment: DocumentSegment to generate summary
HIGHapi/services/summary_index_service.py645 Generate summary for a segment and vectorize it. Assumes summary record already exists (created by batc
HIGHapi/services/dataset_service.py552 Update dataset configuration and settings. Args: dataset_id: The unique identifier of the
HIGHapi/services/tools/mcp_tools_manage_service.py89 Get MCP provider by ID or server identifier. Args: provider_id: Provider ID (UUID)
12 more matches not shown…
Over-Commented Block324 hits · 290 pts
SeverityFileLineSnippet
LOWdocker/dify-env-sync.py1#!/usr/bin/env python3
LOWdocker/dify-env-sync.sh1#!/bin/bash
LOWdocker/ssrf_proxy/docker-entrypoint.sh1#!/bin/bash
LOWdocker/volumes/opensearch/opensearch_dashboards.yml1---
LOWdocker/volumes/opensearch/opensearch_dashboards.yml21
LOWdocker/volumes/opensearch/opensearch_dashboards.yml41
LOWdocker/volumes/opensearch/opensearch_dashboards.yml61# server.ssl.enabled: false
LOWdocker/volumes/opensearch/opensearch_dashboards.yml81
LOWdocker/volumes/opensearch/opensearch_dashboards.yml101# pid.file: /var/run/opensearchDashboards.pid
LOWdocker/volumes/opensearch/opensearch_dashboards.yml121# Supported languages are the following: English - en , by default , Chinese - zh-CN .
LOWdocker/volumes/opensearch/opensearch_dashboards.yml141# //Reserved IP address
LOWdocker/volumes/opensearch/opensearch_dashboards.yml161# defaultUrl: ""
LOWdocker/volumes/opensearch/opensearch_dashboards.yml181# Set the value of this setting to false to disable VisBuilder
LOW…fy_agent/dify_agent_examples/run_server_sync_client.py61 ),
LOW…fy_agent/dify_agent_examples/run_server_sync_client.py81 # provider="search",
LOW…/dify_agent/dify_agent_examples/run_server_consumer.py61 type=DIFY_PLUGIN_LLM_LAYER_TYPE_ID,
LOW…/dify_agent/dify_agent_examples/run_server_consumer.py81 # name="tools",
LOW…/dify_agent/dify_agent_examples/run_server_consumer.py101 # ],
LOWsdks/nodejs-client/scripts/publish.sh1#!/usr/bin/env bash
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx181 // Empty key headers don't trigger masking
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx201 // Empty key headers don't trigger masking
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx221 // Whitespace-only key doesn't count as having content
LOW…ools/workflow-tool/__tests__/configure-button.spec.tsx661 // Assert
LOW…ools/workflow-tool/__tests__/configure-button.spec.tsx1141 // Assert
LOW…/config/assistant-type-picker/__tests__/index.spec.tsx341 await waitFor(() => {
LOW…/config/assistant-type-picker/__tests__/index.spec.tsx361 // Assert - Agent settings modal should not appear (value is 'chat')
LOW…ts/app/configuration/config/automatic/prompt-toast.tsx21 // const message = `
LOW…ig/settings-modal/__tests__/retrieval-section.spec.tsx161 // Arrange & Act
LOW…ig/settings-modal/__tests__/retrieval-section.spec.tsx181 // Assert
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx141 render(<VarPicker {...props} />)
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx161 // Assert
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx321 // State Management
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx341 // Assert
LOW…on/dataset-config/context-var/__tests__/index.spec.tsx141 ...defaultProps,
LOW…on/dataset-config/context-var/__tests__/index.spec.tsx161 // Assert - Should show placeholder instead of variable
LOW…bug/debug-with-multiple-model/__tests__/index.spec.tsx461
LOW…bug/debug-with-multiple-model/__tests__/index.spec.tsx481 // Assert
LOW…ebug-with-multiple-model/__tests__/debug-item.spec.tsx521 // When provider/model doesn't match, ChatItem won't render
LOW…ebug-with-multiple-model/__tests__/debug-item.spec.tsx541 // When provider/model doesn't match, ChatItem won't render
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx81
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx101 // Assert
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx321 it('should initialize with closed confirm modal', () => {
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx341 // Assert - Confirm dialog should not be visible initially
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx481 )
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx501 // Before click - no highlight
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx601 )
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx621 // Replay button should not be present for webhook triggers
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx801
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx821 // Should render without trigger column
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx601 )
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx621 // Clear button should not be present
LOW…mponents/plugins/plugin-item/__tests__/action.spec.tsx461
LOW…mponents/plugins/plugin-item/__tests__/action.spec.tsx481 // Assert
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx401
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx421 // Assert - no voice items should be rendered
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx461 // Assert
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx681 // Assert
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx701 // Assert
LOW…anel/subscription-list/create/__tests__/index.spec.tsx301 it('should render without crashing when supportedMethods is provided', () => {
LOW…anel/subscription-list/create/__tests__/index.spec.tsx321 // Assert
264 more matches not shown…
Redundant / Tautological Comments177 hits · 269 pts
SeverityFileLineSnippet
LOWdocker/dify-env-sync.sh310 # Check if this is an environment variable line
LOWdocker/dify-env-sync.sh316 # Check if key should be preserved
LOWdocker/nginx/docker-entrypoint.sh6 # Check if the certificate and key files for the specified domain exist
LOWdocker/elasticsearch/docker-entrypoint.sh6 # Check if the ICU tokenizer plugin is installed
LOWdocker/elasticsearch/docker-entrypoint.sh14 # Check if the Japanese language analyzer plugin is installed
LOWsdks/nodejs-client/scripts/publish.sh174 # Check if version already exists on npm
LOWscripts/stress-test/run_locust_stress_test.sh37# Check if services are running
LOWscripts/stress-test/setup_all.py33 # Print output
LOWscripts/stress-test/setup_all.py76 # Check if required services are running
LOWscripts/stress-test/sse_benchmark.py460 # Check if runner is stopping
LOWscripts/stress-test/setup/login_admin.py56 # Check if login was successful
LOWscripts/stress-test/setup/run_workflow.py86 # Print output if it's the LLM node
LOWapi/tasks/regenerate_summary_index_task.py66 # Check if summary index is enabled (only for summary_model change)
LOWapi/tasks/generate_summary_index_task.py53 # Check if document needs summary
LOWapi/tasks/generate_summary_index_task.py74 # Check if summary index is enabled
LOWapi/tasks/duplicate_document_indexing_task.py57 # Check if there are waiting tasks in the queue
LOWapi/tasks/document_indexing_task.py209 # Check if there are waiting tasks in the queue
LOWapi/tasks/workflow_node_execution_tasks.py55 # Check if node execution already exists
LOWapi/tasks/workflow_execution_tasks.py53 # Check if workflow run already exists
LOW…i/tasks/rag_pipeline/priority_rag_pipeline_run_task.py81 # Check if there are waiting tasks in the queue
LOWapi/tasks/rag_pipeline/rag_pipeline_run_task.py87 # Check if there are waiting tasks in the queue
LOWapi/docker/entrypoint.sh25 # Set MAX_WORKERS to the number of available cores if not specified
LOWapi/core/datasource/datasource_file_manager.py182 # Check if message_file is not None
LOWapi/core/tools/tool_file_manager.py195 # Check if message_file is not None
LOWapi/core/tools/utils/text_processing_utils.py15 # Check if text starts with a markdown link - preserve it
LOWapi/core/tools/mcp_tool/tool.py99 # Check if content looks like JSON before attempting to parse
LOWapi/core/app/apps/base_app_generator.py141 # Check if all files are converted to File
LOWapi/core/plugin/utils/chunk_merger.py60 # Check if file is too large (before appending)
LOWapi/core/plugin/utils/chunk_merger.py66 # Check if single chunk is too large
LOW…ories/sqlalchemy_workflow_node_execution_repository.py383 # Check if record already exists
LOWapi/core/agent/fc_agent_runner.py223 # Check if max iteration is reached and model still wants to call tools
LOWapi/core/agent/cot_agent_runner.py175 # Check if max iteration is reached and model still wants to call tools
LOWapi/core/mcp/client/streamable_client.py416 # Check if we should stop
LOWapi/core/mcp/client/streamable_client.py431 # Check if this is a resumption request
LOWapi/core/rag/datasource/retrieval_service.py491 # Check if this is a summary document
LOWapi/core/rag/datasource/retrieval_service.py629 # Check if this segment was retrieved via summary
LOWapi/core/rag/datasource/retrieval_service.py675 # Check if this segment was retrieved via summary
LOWapi/core/schemas/resolver.py307 # Check if this dict has a $ref field
LOWapi/core/prompt/simple_prompt_transform.py328 # Check if the prompt file is already loaded
LOWapi/core/ops/ops_trace_manager.py140 # Check if there's a model-specific config
LOWapi/core/ops/utils.py96 # Check if scheme is allowed
LOWapi/core/ops/utils.py127 # Check if scheme is allowed
LOWapi/core/helper/ssrf_proxy.py184 # Check if this is a Squid SSRF rejection
LOWapi/core/helper/csv_sanitizer.py54 # Check if first character is a formula initiator
LOWapi/core/helper/credential_utils.py74 # Check if credential exists in database first (if requested)
LOWapi/core/helper/code_executor/template_transformer.py81 # Check if the string looks like scientific notation
LOWapi/core/logging/filters.py74 # Check if user is authenticated using the proxy
LOWapi/core/entities/mcp_provider.py205 # Check if we have nested client_information structure
LOWapi/core/entities/provider_configuration.py636 # Check if this credential is used in load balancing configs
LOWapi/core/entities/provider_configuration.py654 # Check if this is the currently active credential
LOWapi/core/entities/provider_configuration.py1102 # Check if this is the currently active credential
LOW…b-oceanbase/src/dify_vdb_oceanbase/oceanbase_vector.py87 self._hybrid_search_enabled = self._check_hybrid_search_support() # Check if hybrid search is supported
LOW…rch/src/dify_vdb_elasticsearch/elasticsearch_vector.py86 # Check if using Elastic Cloud
LOW…rch/src/dify_vdb_elasticsearch/elasticsearch_vector.py311 # Check if ELASTICSEARCH_USE_CLOUD is explicitly set to false (boolean)
LOW…rs/vdb/vdb-chroma/src/dify_vdb_chroma/chroma_vector.py120 # Check if results contain data
LOW…b-couchbase/src/dify_vdb_couchbase/couchbase_vector.py200 # Check if the collection exists in the scope
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py214 # Check if connection is not expired and still valid
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py483 # Check if table already exists to avoid unnecessary index creation
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py524 # Check if vector index already exists on the embedding column
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py557 # Check if an inverted index already exists on this column
117 more matches not shown…
Fake / Example Data229 hits · 246 pts
SeverityFileLineSnippet
LOWweb/app/install/installForm.spec.tsx68 fireEvent.change(await screen.findByLabelText('login.email'), { target: { value: 'admin@example.com' } })
LOWweb/app/install/installForm.spec.tsx80 email: 'admin@example.com',
LOWweb/app/install/installForm.spec.tsx92 email: 'admin@example.com',
LOWweb/app/install/installForm.spec.tsx109 fireEvent.change(await screen.findByLabelText('login.email'), { target: { value: 'admin@example.com' } })
LOWweb/app/install/installForm.spec.tsx130 fireEvent.change(await screen.findByLabelText('login.email'), { target: { value: 'admin@example.com' } })
LOW…dataset-config/settings-modal/__tests__/index.spec.tsx73 email: 'user@example.com',
LOW…dataset-config/settings-modal/__tests__/index.spec.tsx230 email: 'user@example.com',
LOW…mponents/app/switch-app-modal/__tests__/index.spec.tsx35 email: 'user@example.com',
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx21 { label: 'name', value: 'John Doe' },
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx44 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx70 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx80 expect(screen.queryByText('John Doe')).not.toBeInTheDocument()
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx91 expect(screen.queryByText('John Doe')).not.toBeInTheDocument()
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx95 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx326 created_by_account: { id: 'acc-1', name: 'John Doe', email: 'john@example.com' },
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx335 expect(screen.getByText('John Doe'))!.toBeInTheDocument()
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx7 name: 'John Doe',
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx19 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx29 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx41 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx48 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx55 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx84 const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx93 const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx99 const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx135 let container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx140 container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx153 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx187 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement
LOW…/settings/permission-selector/__tests__/index.spec.tsx20 { id: 'user-2', name: 'John Doe', email: 'john@example.com', avatar: '', avatar_url: '', role: 'admin', last_login_a
LOW…/settings/permission-selector/__tests__/index.spec.tsx161 expect(screen.getByText('John Doe'))!.toBeInTheDocument()
LOW…/settings/permission-selector/__tests__/index.spec.tsx180 const johnDoe = screen.getByText('John Doe')
LOW…/settings/permission-selector/__tests__/index.spec.tsx202 const johnDoe = screen.getByText('John Doe')
LOW…/settings/permission-selector/__tests__/index.spec.tsx266 expect(screen.getByText('John Doe'))!.toBeInTheDocument()
LOW…/settings/permission-selector/__tests__/index.spec.tsx319 expect(screen.getByText('John Doe'))!.toBeInTheDocument()
LOW…card/components/__tests__/dataset-card-header.spec.tsx107 const dataset = createMockDataset({ author_name: 'John Doe' })
LOW…card/components/__tests__/dataset-card-header.spec.tsx109 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…omponents/variable/__tests__/match-schema-type.spec.ts46 street: { type: 'string', value: '123 Main St' },
LOW…odes/loop/__tests__/use-single-run-form-params.spec.ts87 email: 'user@example.com',
LOW…ool/hooks/__tests__/use-single-run-form-params.spec.ts72 email: 'user@example.com',
LOWweb/app/components/workflow/__tests__/fixtures.ts132 created_by: { id: 'user-1', name: 'Test', email: 'test@test.com' },
LOW…/workflow/run/utils/format-log/__tests__/index.spec.ts71 email: 'user@example.com',
LOW…omponents/workflow/run/__tests__/result-panel.spec.tsx166 email: 'user@example.com',
LOWweb/app/components/workflow/run/__tests__/hooks.spec.ts36 email: 'user@example.com',
LOW…fer-ownership-modal/__tests__/member-selector.spec.tsx10 { id: '1', name: 'John Doe', email: 'john@example.com', avatar_url: '' },
LOW…fer-ownership-modal/__tests__/member-selector.spec.tsx32 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…fer-ownership-modal/__tests__/member-selector.spec.tsx44 expect(screen.queryByText('John Doe')).not.toBeInTheDocument()
LOW…fer-ownership-modal/__tests__/member-selector.spec.tsx83 expect(screen.getByText('John Doe')).toBeInTheDocument()
LOW…/account-setting/members-page/__tests__/index.spec.tsx98 email: 'admin@example.com',
LOW…/account-setting/members-page/__tests__/index.spec.tsx192 userProfile: { email: 'admin@example.com' },
LOW…/account-setting/members-page/__tests__/index.spec.tsx293 userProfile: { email: 'admin@example.com' },
LOW…/account-setting/members-page/__tests__/index.spec.tsx307 userProfile: { email: 'admin@example.com' },
LOW…/account-setting/members-page/__tests__/index.spec.tsx385 userProfile: { email: 'admin@example.com' },
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx81 fillEmails('user@example.com')
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx92 fillEmails('user@example.com')
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx111 fillEmails('user@example.com')
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx130 fillEmails('user@example.com')
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx160 fillEmails('user@example.com')
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx162 expect(screen.getByText('user@example.com')).toBeInTheDocument()
LOW…ing/members-page/invite-modal/__tests__/index.spec.tsx167 expect(screen.queryByText('user@example.com')).not.toBeInTheDocument()
169 more matches not shown…
Verbosity Indicators106 hits · 205 pts
SeverityFileLineSnippet
LOWsdks/nodejs-client/scripts/publish.sh127 # Step 1: Environment Check
LOWsdks/nodejs-client/scripts/publish.sh164 # Step 2: Read Package Info
LOWsdks/nodejs-client/scripts/publish.sh187 # Step 3: Install Dependencies
LOWsdks/nodejs-client/scripts/publish.sh195 # Step 4: Run Tests
LOWsdks/nodejs-client/scripts/publish.sh207 # Step 5: Build
LOWsdks/nodejs-client/scripts/publish.sh229 # Step 6: Publish
LOW…-panel/subscription-list/edit/__tests__/index.spec.tsx1119 // Step 1: Verify
LOW…-panel/subscription-list/edit/__tests__/index.spec.tsx1125 // Step 2: Update
LOW…in/install-from-local-package/__tests__/index.spec.tsx1916 // Step 1: Uploading
LOW…in/install-from-local-package/__tests__/index.spec.tsx1919 // Step 2: Upload complete, transition to readyToInstall
LOW…in/install-from-local-package/__tests__/index.spec.tsx1927 // Step 3: Start installation
LOW…in/install-from-local-package/__tests__/index.spec.tsx1931 // Step 4: Installation complete
LOW…in/install-from-local-package/__tests__/index.spec.tsx1993 // Step 1: Uploading
LOW…in/install-from-local-package/__tests__/index.spec.tsx1997 // Step 2: Upload complete, transition to readyToInstall
LOW…in/install-from-local-package/__tests__/index.spec.tsx2006 // Step 3: Start installation
LOW…in/install-from-local-package/__tests__/index.spec.tsx2010 // Step 4: Installation complete
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1627 // Step 1: Enter URL
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1631 // Step 2: Run crawl
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1634 // Step 3: Wait for completion
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1639 // Step 4: Click preview
LOW…pp/components/datasets/create/__tests__/index.spec.tsx966 // Step 1: Set up data
LOW…pp/components/datasets/create/__tests__/index.spec.tsx970 // Step 2: Set caches
LOW…components/variable/__tests__/output-var-list.spec.tsx86 // Step 1: rename var_2 -> var_1 (creates duplicate)
LOW…components/variable/__tests__/output-var-list.spec.tsx96 // Step 2: rename second var_1 -> var_2 (restores unique names)
LOWweb/app/components/base/mermaid/index.tsx262 // Step 1: Clean and prepare Mermaid code using the extracted prepareMermaidCode function
LOWweb/app/components/base/mermaid/index.tsx269 // Step 2: Render chart
LOWweb/app/components/base/mermaid/index.tsx272 // Step 3: Apply theme to SVG using the extracted processSvgForTheme function
LOWweb/app/components/base/mermaid/index.tsx280 // Step 4: Clean up SVG code
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx386 // Step 1: Set credential
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx389 // Step 2: Set file list
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx393 // Step 3: Select current file for preview
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx406 // Step 1: Set credential
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx409 // Step 2: Init crawl
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx412 // Step 3: Crawl completes with results
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx421 // Step 4: Set website pages from results
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx424 // Step 5: Set preview
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx439 // Step 1: Set credential
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx442 // Step 2: Set bucket
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx446 // Step 3: Navigate into folders
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx456 // Step 4: Navigate deeper
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx460 // Step 5: Select files
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx100 // Step 1: Start with an unpinned app and pin it
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx113 // Step 2: Simulate refetch returning pinned state, then unpin
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx138 // Step 1: Open operation menu and click delete
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx142 // Step 2: Confirm dialog appears
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx145 // Step 3: Confirm deletion
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx148 // Step 4: Uninstall API called and success toast shown
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx233 // Step 1: User clicks "Add to Workspace" on an app card
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx245 // Step 2: Click add to workspace button - opens create modal
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx248 // Step 3: Confirm creation in modal
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx251 // Step 4: API fetches app detail
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx256 // Step 5: DSL import triggers pending confirmation
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx259 // Step 6: DSL confirm modal appears and user confirms
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx260 // Step 6: DSL confirm modal appears and user confirms
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx264 // Step 7: Flow completes successfully
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx274 // Step 1: Loading state
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx281 // Step 2: Data loads
LOWapi/core/tools/mcp_tool/tool.py258 # Step 1: Load provider entity and credentials in a short-lived session
LOWapi/core/tools/mcp_tool/tool.py274 # Step 2: Session is now closed, perform network operations without holding database connection
LOW…tests/unit_tests/core/datasource/test_website_crawl.py921 # Step 1: Start crawl
46 more matches not shown…
AI Slop Vocabulary42 hits · 96 pts
SeverityFileLineSnippet
MEDIUMdocker/dify-env-sync.sh231 # Numeric check - using arithmetic evaluation for robust comparison
MEDIUMweb/app/components/goto-anything/context.tsx46 // Update context based on current pathname using more robust route matching
MEDIUM…/chat-with-history/header/__tests__/operation.spec.tsx94 // Find trigger container by text and traverse to interactive container using a more robust selector
MEDIUMweb/app/components/base/mermaid/utils.ts181 // parser is more robust.
MEDIUMweb/public/vs/language/css/cssWorker.js73This is used to produce an effect that is known as tate-ch\u016B-yoko (\u7E26\u4E2D\u6A2A) in Japanese, or as \u76F4\u66
MEDIUMweb/public/vs/language/html/htmlWorker.js259 * To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/do
MEDIUMweb/public/vs/language/html/htmlWorker.js270Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{na
MEDIUMweb/public/vs/language/html/htmlWorker.js270Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{na
MEDIUMweb/public/vs/language/html/htmlWorker.js288**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users,
MEDIUMapi/constants/recommended_apps.json426 "export_data": "app:\n icon: \"\\U0001F911\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: Inv
MEDIUMapi/constants/recommended_apps.json426 "export_data": "app:\n icon: \"\\U0001F911\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: Inv
MEDIUMapi/constants/recommended_apps.json444 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: chat\n name: Python bu
MEDIUMapi/constants/recommended_apps.json484 "export_data": "app:\n icon: \"\\U0001F522\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: You
MEDIUMapi/constants/recommended_apps.json500 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: workflow\n name: SEO B
MEDIUMapi/constants/recommended_apps.json516 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: workflow\n name: 'Sent
MEDIUMapi/constants/pipeline_templates.json1356 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_u
MEDIUMapi/constants/pipeline_templates.json3132 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_u
MEDIUMapi/constants/pipeline_templates.json3132 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_u
MEDIUM…i/tests/unit_tests/core/datasource/test_file_upload.py888 """Tests for comprehensive filename validation logic.
LOW…s/core/datasource/entities/test_datasource_entities.py72 # For STRING, it should just return the value as is (or cast to str)
MEDIUMapi/tests/unit_tests/core/plugin/test_plugin_manager.py953 # Arrange & Act: Create resource requirements with comprehensive model permissions
LOW…sts/unit_tests/core/mcp/session/test_client_session.py576 # Should just pass (case _:)
MEDIUM…/tests/unit_tests/core/workflow/test_workflow_entry.py481 # Define comprehensive variable mapping
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py174 # Create comprehensive system variables
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py253 # Create comprehensive user inputs
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py325 # Create a comprehensive VariablePool with all data types
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py344 # Create a comprehensive VariablePool with all data types
MEDIUM…ts/core/external_data_tool/test_external_data_fetch.py30 # This approach is robust regardless of thread scheduling order
MEDIUM…nit_tests/commands/test_legacy_model_type_migration.py889 except BaseException as exc: # pragma: no cover - test harness
MEDIUM…nit_tests/commands/test_legacy_model_type_migration.py976 except BaseException as exc: # pragma: no cover - test harness
MEDIUMapi/tests/unit_tests/services/controller_api.py905# When writing API tests, consider the following best practices:
MEDIUM…s/unit_tests/services/test_external_dataset_service.py143 """Test get_external_knowledge_apis operations - comprehensive coverage."""
MEDIUM…s/unit_tests/services/test_external_dataset_service.py1145 """Test process_external_api operations - comprehensive HTTP method coverage."""
MEDIUM…s/unit_tests/services/test_external_dataset_service.py1291 """Test assembling_headers operations - comprehensive authorization coverage."""
MEDIUM…services/rag_pipeline/test_rag_pipeline_dsl_service.py546# --- export_rag_pipeline_dsl comprehensive ---
MEDIUM…ation_tests/tasks/test_create_segment_to_index_task.py1075 # Arrange: Create comprehensive test scenario
MEDIUM…ation_tests/tasks/test_create_segment_to_index_task.py1093 # Assert: Verify comprehensive success
MEDIUMapi/models/workflow.py1640 # `WorkflowEntry.handle_special_values`, making a comprehensive migration challenging.
LOWapi/libs/external_api.py24 # If Werkzeug already prepared a Response, just use it.
LOWapi/services/workflow_draft_variable_service.py416 # For consistency, we should simply return when processing VARIABLE_ASSIGNER nodes.
LOWapi/services/variable_truncator.py474 # without any truncation, so just return it as-is
MEDIUMapi/services/workflow_event_snapshot_service.py98 # ensure that we can utilize the index.
Hallucination Indicators8 hits · 95 pts
SeverityFileLineSnippet
CRITICALweb/service/use-log.ts22 queryFn: () => consoleClient.apps.byAppId.annotations.count.get({
CRITICAL…tests/unit_tests/langfuse_trace/test_langfuse_trace.py629 trace_instance.langfuse_client.api.ingestion.batch.assert_called_once()
CRITICAL…tests/unit_tests/langfuse_trace/test_langfuse_trace.py596 trace_instance.langfuse_client.api.ingestion.batch.assert_called_once()
CRITICAL…tests/unit_tests/langfuse_trace/test_langfuse_trace.py609 trace_instance.langfuse_client.api.ingestion.batch.assert_called_once()
CRITICAL…/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py183 vector._client.get_collection.return_value.delete_data.assert_called_once_with(["id-1"])
CRITICALapi/tests/unit_tests/tasks/test_mail_send_task.py620 mock_client_instance.client.mail.send.post.assert_called_once()
CRITICAL…sts/unit_tests/core/mcp/client/test_streamable_http.py1282 assert "terminated" in item.message.root.error.message.lower()
CRITICALapi/tests/unit_tests/libs/test_sendgrid_client.py25 mock_client.client.mail.send.post.assert_called_once()
Cross-Language Confusion14 hits · 85 pts
SeverityFileLineSnippet
HIGH…tta/tests/integration_tests/test_docker_integration.py151 "1. Run: cd docker && docker-compose -f docker-compose.yaml -f docker-compose.clickzetta.yaml up -d"
HIGHapi/tests/unit_tests/core/plugin/test_plugin_runtime.py679 f'data: {{"code": -500, "message": {json.dumps(error_obj)}, "data": null}}',
HIGHapi/tests/unit_tests/core/plugin/test_plugin_runtime.py1127 f'data: {{"code": -500, "message": {json.dumps(error_obj)}, "data": null}}',
HIGH…s/unit_tests/core/plugin/impl/test_base_client_impl.py133 client, "_stream_request", return_value=iter(['{"code":-500,"message":"not-json","data":null}'])
HIGH…s/unit_tests/core/plugin/impl/test_base_client_impl.py142 mocker.patch.object(client, "_stream_request", return_value=iter(['{"code":-1,"message":"err","data":null}']))
HIGH…s/unit_tests/core/plugin/impl/test_base_client_impl.py149 mocker.patch.object(client, "_stream_request", return_value=iter(['{"code":0,"message":"","data":null}']))
HIGHapi/tests/unit_tests/core/mcp/test_types.py154 request_json = '{"jsonrpc": "2.0", "id": 1, "method": "test", "params": null}'
HIGHapi/tests/unit_tests/core/mcp/client/test_sse.py24 json_message = '{"jsonrpc": "2.0", "id": "123", "method": "ping", "params": null}'
HIGHapi/tests/unit_tests/core/mcp/client/test_sse.py39 json_message = '{"jsonrpc": "2.0", "method": "ping", "params": null}'
HIGHapi/tests/unit_tests/libs/test_oauth_clients.py137 # The profile email is absent/null, so /user/emails should be called
HIGHapi/tests/unit_tests/services/test_billing_service.py347 """When billing serializes skipped vector_space as null, get_info treats it as absent."""
HIGH…/unit_tests/services/tools/test_mcp_tools_transform.py312 mock_provider_full.tools = '[{"name": "tool1", "description": null, "inputSchema": {}}]'
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py32from sqlalchemy import and_, delete, func, null, or_, select, tuple_
HIGHapi/services/billing_service.py196 # Unset proto message fields can be serialized as null; the light billing contract treats it as absent.
Magic Placeholder Names7 hits · 35 pts
SeverityFileLineSnippet
HIGHsdks/php-client/README.md34$apiKey = 'your-api-key-here';
HIGHsdks/php-client/README.md91Replace 'your-api-key-here' with your actual Dify API key.
HIGHapi/openapi/markdown/service-swagger.md11| Description | Type: Bearer {your-api-key} |
HIGHapi/openapi/markdown/openapi-swagger.md11| Description | Type: Bearer {your-api-key} |
HIGHapi/openapi/markdown/web-swagger.md11| Description | Type: Bearer {your-api-key} |
HIGHapi/openapi/markdown/console-swagger.md11| Description | Type: Bearer {your-api-key} |
HIGHapi/libs/external_api.py120 "description": "Type: Bearer {your-api-key}",
Cross-Language Confusion (JS/TS)6 hits · 30 pts
SeverityFileLineSnippet
HIGH…ents/workflow/nodes/code/__tests__/code-parser.spec.ts101 print("Hello")`,
HIGHcli/src/printers/format-table.ts48 print(obj) {
HIGHcli/src/printers/format-text.ts26 print(obj) {
HIGHcli/src/printers/format-name.ts28 print(obj) {
HIGHcli/src/printers/format-json-yaml.ts8 print(obj) {
HIGHcli/src/printers/format-json-yaml.ts14 print(obj) {
Slop Phrases5 hits · 10 pts
SeverityFileLineSnippet
MEDIUMweb/docker/entrypoint.sh6# you can use the Ubuntu terminal to convert this file to unix format
MEDIUM…pp/create-app-dialog/app-card/__tests__/index.spec.tsx44 description: 'A test chat application for demonstration purposes',
LOWweb/public/vs/language/css/cssWorker.js32`),[{language:"html",value:r}]}doPrint(e,t){for(let r of e)this.doPrintElement(r,t),r.children&&this.doPrint(r.children,
MEDIUMweb/public/vs/language/html/htmlWorker.js306**Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/
MEDIUMapi/constants/recommended_apps.json468 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: advanced-chat\n name:
Dead Code5 hits · 10 pts
SeverityFileLineSnippet
MEDIUM…/tests/unit_tests/clients/agent_backend/test_client.py120
MEDIUM…tests/unit_tests/core/plugin/impl/test_model_client.py169
MEDIUM…tests/unit_tests/core/plugin/impl/test_model_client.py393
MEDIUM…nit_tests/core/workflow/test_workflow_entry_helpers.py895
MEDIUM…/tests/unit_tests/core/workflow/nodes/llm/test_node.py1537
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippet
LOW…ix/src/dify_trace_arize_phoenix/arize_phoenix_trace.py351 def process_data(self) -> Mapping[str, Any] | None: ...
LOW…/unit_tests/extensions/otel/decorators/test_handler.py249 def my_function(x):
Example Usage Blocks1 hit · 1 pts
SeverityFileLineSnippet
LOWsdks/nodejs-client/scripts/publish.sh7# Usage: