Production-ready platform for agentic workflow development.
21705 matches across 21 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | dify-agent/tests/docs/test_examples.py | 37 | def test_documentation_examples(example: CodeExample, eval_example: EvalExample) -> None: |
| LOW | dify-agent/tests/docs/test_snippets.py | 13 | def test_parse_snippet_directive() -> None: |
| LOW | dify-agent/tests/docs/test_snippets.py | 22 | def test_parse_file_sections_and_inject_snippet(tmp_path: Path) -> None: |
| LOW | dify-agent/tests/local/test_packaging.py | 31 | def test_project_dependencies_split_client_and_server_requirements() -> None: |
| LOW | dify-agent/tests/local/test_packaging.py | 39 | def test_default_package_discovery_excludes_example_packages() -> None: |
| LOW | …nt/tests/local/agenton/layers/test_schema_inference.py | 44 | def test_layer_infers_config_and_runtime_state_from_generics() -> None: |
| LOW | …nt/tests/local/agenton/layers/test_schema_inference.py | 54 | def test_layer_uses_empty_schema_defaults_when_omitted() -> None: |
| LOW | …nt/tests/local/agenton/layers/test_schema_inference.py | 62 | def test_invalid_declared_schema_type_is_rejected_clearly() -> None: |
| LOW | …nt/tests/local/agenton/layers/test_schema_inference.py | 84 | def test_layer_provider_uses_inferred_schema_types() -> None: |
| LOW | …fy-agent/tests/local/agenton/layers/test_layer_deps.py | 13 | def test_layer_deps_rejects_mismatched_runtime_layer_class() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 48 | def test_same_compositor_enters_multiple_times_with_fresh_layers_and_snapshot_resume() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 85 | def test_concurrent_enters_do_not_share_layer_instances() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 128 | def test_custom_factory_is_called_each_enter_with_typed_config() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 155 | def test_provider_rejects_reused_layer_instance_before_hooks_run() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 179 | def test_configs_are_validated_by_node_name_before_factory_call() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 199 | def test_all_node_configs_are_validated_before_any_factory_runs() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 220 | def test_existing_config_model_instances_are_revalidated_before_factory_runs() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 239 | def test_existing_snapshot_model_instances_are_revalidated_before_factory_runs() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 287 | def test_snapshot_hydrates_runtime_state_and_exit_snapshots_from_layer_self() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 290 | async def create_suspend_resume_delete() -> tuple[CompositorSessionSnapshot, CompositorSessionSnapshot]: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 338 | def test_run_snapshot_rejects_active_layers() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 349 | def test_active_snapshot_input_is_rejected_before_factories_run() -> None: |
| LOW | dify-agent/tests/local/agenton/compositor/test_enter.py | 371 | def test_closed_snapshot_enter_is_rejected_before_hooks_run() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 52 | def test_direct_deps_access_uses_explicit_dependency_rename() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 70 | def test_direct_deps_access_uses_explicit_same_name_dependency() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 88 | def test_optional_missing_dependency_is_bound_to_none() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 99 | def test_missing_required_dependency_is_rejected_before_hooks() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 106 | def test_unknown_dependency_mapping_is_rejected_for_compositor_construction() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 111 | def test_undefined_dependency_target_is_rejected_for_compositor_construction() -> None: |
| LOW | …ent/tests/local/agenton/compositor/test_direct_deps.py | 116 | def test_duplicate_layer_node_name_is_rejected() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 52 | def test_layer_provider_from_layer_type_uses_declared_schema_and_type_id() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 68 | def test_compositor_from_config_uses_providers_and_enter_configs_by_node_name() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 87 | def test_layer_node_config_has_no_runtime_state_or_layer_config() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 105 | def test_node_providers_override_type_id_providers_for_serializable_graphs() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 123 | def test_from_config_rejects_missing_duplicate_and_unknown_providers() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 147 | def test_compositor_run_get_layer_returns_named_layer_and_validates_type() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 177 | def test_python_native_construction_mixes_layer_classes_and_providers() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 217 | def test_snapshot_contains_runtime_state_only_not_config_deps_or_resources() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 240 | def test_hydrate_validates_runtime_state_and_resume_mutates_layer_self() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 267 | def test_hydrate_rejects_mismatched_snapshot_layer_names() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 279 | def test_removed_lifecycle_and_resource_apis_are_not_public_exports() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 296 | def test_facade_keeps_direct_import_type_aliases_without_expanding___all__() -> None: |
| LOW | …ests/local/agenton/compositor/test_builder_snapshot.py | 307 | def test_facade_export_surface_matches_split_contract() -> None: |
| LOW | …nt/tests/local/agenton/compositor/test_transformers.py | 82 | def test_compositor_transformer_kwargs_keys_match_constructor_parameters() -> None: |
| LOW | …nt/tests/local/agenton/compositor/test_transformers.py | 91 | def test_compositor_transformer_kwargs_keys_match_from_config_parameters() -> None: |
| LOW | …nt/tests/local/agenton/compositor/test_transformers.py | 99 | def test_compositor_transforms_prompts_to_another_type_after_layer_ordering() -> None: |
| LOW | …nt/tests/local/agenton/compositor/test_transformers.py | 120 | def test_compositor_transforms_tools_to_another_type_after_layer_aggregation() -> None: |
| LOW | …nt/tests/local/agenton/compositor/test_transformers.py | 133 | def test_compositor_transforms_user_prompts_after_layer_ordering() -> None: |
| LOW | …agent/tests/local/dify_agent/test_import_boundaries.py | 52 | def test_dify_agent_root_import_is_client_safe() -> None: |
| LOW | …agent/tests/local/dify_agent/test_import_boundaries.py | 77 | def test_protocol_and_dify_plugin_exports_do_not_import_server_only_modules() -> None: |
| LOW | …agent/tests/local/dify_agent/test_import_boundaries.py | 110 | def test_agenton_collection_roots_do_not_eagerly_import_pydantic_ai_implementations() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 20 | def test_dify_plugin_package_exports_client_safe_config_symbols_only() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 40 | def test_dify_plugin_llm_config_accepts_scalar_credentials_and_model_settings() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 65 | def test_dify_plugin_llm_config_rejects_old_provider_field() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 76 | def test_dify_plugin_tools_layer_config_accepts_prepared_parameters_and_schema() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 120 | def test_dify_plugin_tool_parameter_accepts_api_tool_parameter_dump_shape() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 151 | def test_dify_plugin_tool_parameter_accepts_api_tool_parameter_attributes() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 173 | def test_dify_plugin_tool_config_rejects_non_json_runtime_parameters() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 186 | def test_dify_plugin_tool_config_rejects_non_json_schema_values() -> None: |
| LOW | …ts/local/dify_agent/layers/dify_plugin/test_configs.py | 199 | def test_dify_plugin_tool_config_rejects_strict_flag() -> None: |
| 16083 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | docker/docker-compose.yaml | 1 | # ================================================================== |
| MEDIUM | docker/docker-compose.yaml | 5 | # ================================================================== |
| MEDIUM | docker/dify-env-sync.py | 3 | # ================================================================ |
| MEDIUM | docker/dify-env-sync.py | 12 | # ================================================================ |
| MEDIUM | docker/dify-env-sync.sh | 3 | # ================================================================ |
| MEDIUM | docker/dify-env-sync.sh | 12 | # ================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 4 | # ================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 17 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 19 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 126 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 128 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 163 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 165 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 186 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 188 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 194 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 196 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 206 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 208 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 228 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 230 | # ======================================================================== |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 30 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 32 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 82 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 84 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 113 | # ============================================================================ |
| MEDIUM | sdks/nodejs-client/scripts/publish.sh | 115 | # ============================================================================ |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 20 | // ── cloneTime ────────────────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 32 | // ── getDaysInMonth ───────────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 60 | // ── getHourIn12Hour ───────────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 78 | // ── getDateWithTimezone ───────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 104 | // ── isDayjsObject ─────────────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 116 | // ── toDayjs ──────────────────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 259 | // ── parseDateWithFormat ──────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 295 | // ── formatDateForOutput ──────────────────────────────────────────────────── |
| MEDIUM | …ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts | 313 | // ── convertTimezoneToOffsetStr ───────────────────────────────────────────── |
| MEDIUM | …app/components/base/chat/chat/__tests__/index.spec.tsx | 8 | // ─── Why each mock exists ───────────────────────────────────────────────────── |
| MEDIUM | …app/components/base/chat/chat/__tests__/index.spec.tsx | 24 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | …app/components/base/chat/chat/__tests__/index.spec.tsx | 78 | // ─── ResizeObserver capture ─────────────────────────────────────────────────── |
| MEDIUM | …app/components/base/chat/chat/__tests__/index.spec.tsx | 91 | // ─── Factories ──────────────────────────────────────────────────────────────── |
| MEDIUM | …app/components/base/chat/chat/__tests__/index.spec.tsx | 116 | // ─── Suite ──────────────────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 11 | // ─── Helpers ────────────────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 56 | // ─── Setup / teardown ───────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 77 | // ─── Rendering ──────────────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 103 | // ─── Play / Pause toggle ────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 177 | // ─── Audio events ───────────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 228 | // ─── Waveform generation ────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 328 | // ─── Canvas interactions ────────────────────────────────────────────────────── |
| MEDIUM | …ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx | 419 | // ─── Missing coverage tests ─────────────────────────────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/index.spec.tsx | 68 | // ─── Typed factories (no `any` / `never`) ──────────────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/index.spec.tsx | 109 | // ─── Test harness ──────────────────────────────────────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/index.spec.tsx | 267 | // ─── Tests ─────────────────────────────────────────────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 31 | // ─── Helpers ───────────────────────────────────────────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 57 | // ─── Factory helpers (typed, no `any` / `never`) ───────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 101 | // ─── Shared mock render-prop arguments ─────────────────────────────────────── |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 110 | // ═══════════════════════════════════════════════════════════════════════════════ |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 112 | // ═══════════════════════════════════════════════════════════════════════════════ |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 410 | // ═══════════════════════════════════════════════════════════════════════════════ |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 412 | // ═══════════════════════════════════════════════════════════════════════════════ |
| MEDIUM | …lugins/component-picker-block/__tests__/hooks.spec.tsx | 579 | // ═══════════════════════════════════════════════════════════════════════════════ |
| 1088 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | api/core/provider_manager.py | 0 | extract secret input form variables. :param credential_form_schemas: :return: |
| HIGH | api/core/entities/provider_configuration.py | 0 | extract secret input form variables. :param credential_form_schemas: :return: |
| HIGH | api/services/datasource_provider_service.py | 0 | extract secret input form variables. :param credential_form_schemas: :return: |
| HIGH | api/core/datasource/datasource_file_manager.py | 0 | get file binary :param id: the id of the file :return: the binary of the file, mime type |
| HIGH | api/core/datasource/datasource_file_manager.py | 0 | get file binary :param id: the id of the file :return: the binary of the file, mime type |
| HIGH | api/core/tools/tool_file_manager.py | 0 | get file binary :param id: the id of the file :return: the binary of the file, mime type |
| HIGH | api/core/tools/tool_file_manager.py | 0 | get file binary :param id: the id of the file :return: the binary of the file, mime type |
| HIGH | api/core/datasource/entities/datasource_entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/tools/entities/tool_entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/tools/entities/tool_entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/tools/entities/tool_entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/app/app_config/entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/app/app_config/entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/entities/provider_entities.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/models/model.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/models/workflow.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/models/workflow.py | 0 | get value of given mode. :param value: mode value :return: mode |
| HIGH | api/core/tools/workflow_as_tool/tool.py | 0 | fork a new tool with metadata :return: the new tool |
| HIGH | api/core/tools/__base/tool.py | 0 | fork a new tool with metadata :return: the new tool |
| HIGH | api/core/tools/custom_tool/tool.py | 0 | fork a new tool with metadata :return: the new tool |
| HIGH | api/core/tools/builtin_tool/tool.py | 0 | fork a new tool with metadata :return: the new tool |
| HIGH | api/core/tools/plugin_tool/provider.py | 0 | returns the type of the provider :return: type of the provider |
| HIGH | api/core/tools/__base/tool_provider.py | 0 | returns the type of the provider :return: type of the provider |
| HIGH | api/core/tools/mcp_tool/provider.py | 0 | returns the type of the provider :return: type of the provider |
| HIGH | api/core/tools/builtin_tool/provider.py | 0 | returns the type of the provider :return: type of the provider |
| HIGH | …core/app/features/annotation_reply/annotation_reply.py | 0 | query app annotations to reply :param app_record: app record :param message: message :param query: query :param user_id: |
| HIGH | api/core/app/apps/base_app_runner.py | 0 | query app annotations to reply :param app_record: app record :param message: message :param query: query :param user_id: |
| HIGH | api/core/app/apps/advanced_chat/app_runner.py | 0 | query 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.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …core/app/app_config/features/speech_to_text/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …g/features/suggested_questions_after_answer/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …core/app/app_config/features/more_like_this/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …core/app/app_config/features/text_to_speech/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …p/app_config/easy_ui_based_app/model_config/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …re/app/app_config/easy_ui_based_app/dataset/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …core/app/app_config/easy_ui_based_app/agent/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | …/app/app_config/easy_ui_based_app/variables/manager.py | 0 | convert model config to model config :param config: model config args |
| HIGH | api/core/app/apps/base_app_queue_manager.py | 0 | publish event to queue :param event: :param pub_from: :return: |
| HIGH | api/core/app/apps/base_app_queue_manager.py | 0 | publish event to queue :param event: :param pub_from: :return: |
| HIGH | api/core/app/apps/message_based_app_queue_manager.py | 0 | publish event to queue :param event: :param pub_from: :return: |
| HIGH | api/core/app/apps/pipeline/pipeline_queue_manager.py | 0 | publish event to queue :param event: :param pub_from: :return: |
| HIGH | api/core/app/apps/workflow/app_queue_manager.py | 0 | publish event to queue :param event: :param pub_from: :return: |
| HIGH | api/core/app/apps/pipeline/pipeline_generator.py | 0 | generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account |
| HIGH | api/core/app/apps/pipeline/pipeline_generator.py | 0 | generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account |
| HIGH | api/core/app/apps/workflow/app_generator.py | 0 | generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account |
| HIGH | api/core/app/apps/workflow/app_generator.py | 0 | generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account |
| HIGH | api/core/app/apps/advanced_chat/app_generator.py | 0 | generate 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.py | 0 | convert blocking full response. :param blocking_response: blocking response :return: |
| HIGH | api/core/app/apps/chat/generate_response_converter.py | 0 | convert blocking full response. :param blocking_response: blocking response :return: |
| HIGH | …ore/app/apps/completion/generate_response_converter.py | 0 | convert blocking full response. :param blocking_response: blocking response :return: |
| HIGH | …/core/app/apps/workflow/generate_response_converter.py | 0 | convert blocking full response. :param blocking_response: blocking response :return: |
| HIGH | …/app/apps/advanced_chat/generate_response_converter.py | 0 | convert blocking full response. :param blocking_response: blocking response :return: |
| HIGH | …ore/app/apps/agent_chat/generate_response_converter.py | 0 | convert blocking full response. :param blocking_response: blocking response :return: |
| HIGH | …/core/app/apps/pipeline/generate_response_converter.py | 0 | convert blocking simple response. :param blocking_response: blocking response :return: |
| HIGH | api/core/app/apps/chat/generate_response_converter.py | 0 | convert blocking simple response. :param blocking_response: blocking response :return: |
| HIGH | …ore/app/apps/completion/generate_response_converter.py | 0 | convert blocking simple response. :param blocking_response: blocking response :return: |
| HIGH | …/core/app/apps/workflow/generate_response_converter.py | 0 | convert blocking simple response. :param blocking_response: blocking response :return: |
| HIGH | …/app/apps/advanced_chat/generate_response_converter.py | 0 | convert blocking simple response. :param blocking_response: blocking response :return: |
| HIGH | …ore/app/apps/agent_chat/generate_response_converter.py | 0 | convert blocking simple response. :param blocking_response: blocking response :return: |
| HIGH | …/core/app/apps/pipeline/generate_response_converter.py | 0 | convert stream full response. :param stream_response: stream response :return: |
| 179 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …fy-agent/examples/agenton/agenton_examples/__main__.py | 36 | print(f'Error: destination path "{destination}" already exists', file=sys.stderr) |
| MEDIUM | …nt/examples/dify_agent/dify_agent_examples/__main__.py | 37 | print(f'Error: destination path "{destination}" already exists', file=sys.stderr) |
| LOW | …agent/src/dify_agent/layers/dify_plugin/tool_client.py | 124 | except Exception: |
| LOW | dify-agent/src/dify_agent/runtime/runner.py | 96 | except Exception as exc: |
| LOW | dify-agent/src/dify_agent/runtime/run_scheduler.py | 134 | except Exception: |
| LOW | dify-agent/src/dify_agent/runtime/run_scheduler.py | 153 | except Exception: |
| LOW | scripts/stress-test/run_locust_stress_test.sh | 196 | except Exception as e: |
| LOW | scripts/stress-test/setup_all.py | 46 | except Exception as e: |
| LOW | scripts/stress-test/setup_all.py | 65 | except Exception as e: |
| LOW | scripts/stress-test/cleanup.py | 83 | except Exception as e: |
| LOW | scripts/stress-test/sse_benchmark.py | 508 | except Exception as e: |
| LOW | scripts/stress-test/sse_benchmark.py | 533 | except Exception as e: |
| LOW | scripts/stress-test/setup/install_openai_plugin.py | 152 | except Exception as e: |
| LOW | scripts/stress-test/setup/login_admin.py | 96 | except Exception as e: |
| LOW | scripts/stress-test/setup/import_workflow_app.py | 123 | except Exception as e: |
| LOW | scripts/stress-test/setup/configure_openai_plugin.py | 92 | except Exception as e: |
| LOW | scripts/stress-test/setup/create_api_key.py | 108 | except Exception as e: |
| LOW | scripts/stress-test/setup/publish_workflow.py | 100 | except Exception as e: |
| LOW | scripts/stress-test/setup/setup_admin.py | 66 | except Exception as e: |
| LOW | scripts/stress-test/setup/run_workflow.py | 150 | except Exception as e: |
| LOW | api/app_factory.py | 92 | except Exception: |
| LOW | api/app_factory.py | 115 | except Exception: |
| MEDIUM | api/app_factory.py | 101 | def add_trace_headers(response): |
| LOW | api/clients/agent_backend/client.py | 83 | except Exception as exc: |
| LOW | api/clients/agent_backend/client.py | 90 | except Exception as exc: |
| LOW | api/clients/agent_backend/client.py | 97 | except Exception as exc: |
| LOW | api/clients/agent_backend/client.py | 104 | except Exception as exc: |
| LOW | api/schedule/update_api_token_last_used_task.py | 104 | except Exception: |
| LOW | api/schedule/mail_clean_document_notify_task.py | 100 | except Exception: |
| LOW | api/schedule/update_tidb_serverless_status_task.py | 32 | except Exception as e: |
| LOW | api/schedule/update_tidb_serverless_status_task.py | 53 | except Exception as e: |
| LOW | api/schedule/clean_workflow_runlogs_precise.py | 98 | except Exception: |
| LOW | api/schedule/clean_workflow_runlogs_precise.py | 166 | except Exception: |
| LOW | api/schedule/queue_monitor_task.py | 75 | except Exception: |
| LOW | api/schedule/queue_monitor_task.py | 78 | except Exception: |
| LOW | api/schedule/check_upgradable_plugin_task.py | 60 | except Exception as e: |
| LOW | api/schedule/clean_workflow_runs_task.py | 68 | except Exception as e: |
| LOW | api/schedule/create_tidb_serverless_task.py | 33 | except Exception as e: |
| LOW | api/schedule/create_tidb_serverless_task.py | 66 | except Exception as e: |
| MEDIUM | api/schedule/create_tidb_serverless_task.py | 41 | def create_clusters(batch_size): |
| LOW | api/schedule/clean_unused_datasets_task.py | 150 | except Exception as e: |
| LOW | api/schedule/clean_messages.py | 69 | except Exception as e: |
| LOW | api/tasks/regenerate_summary_index_task.py | 156 | except Exception as e: |
| LOW | api/tasks/regenerate_summary_index_task.py | 168 | except Exception as e: |
| LOW | api/tasks/regenerate_summary_index_task.py | 266 | except Exception as e: |
| LOW | api/tasks/regenerate_summary_index_task.py | 282 | except Exception as e: |
| LOW | api/tasks/regenerate_summary_index_task.py | 313 | except Exception: |
| LOW | api/tasks/mail_register_task.py | 46 | except Exception: |
| LOW | api/tasks/mail_register_task.py | 86 | except Exception: |
| LOW | api/tasks/mail_workflow_comment_task.py | 64 | except Exception: |
| LOW | api/tasks/generate_summary_index_task.py | 106 | except Exception as e: |
| LOW | api/tasks/delete_account_task.py | 22 | except Exception: |
| LOW | api/tasks/enable_segments_to_index_task.py | 118 | except Exception as e: |
| LOW | api/tasks/enable_segments_to_index_task.py | 123 | except Exception as e: |
| LOW | api/tasks/deal_dataset_index_update_task.py | 90 | except Exception as e: |
| LOW | api/tasks/deal_dataset_index_update_task.py | 185 | except Exception as e: |
| LOW | api/tasks/deal_dataset_index_update_task.py | 203 | except Exception: |
| LOW | api/tasks/mail_inner_task.py | 60 | except Exception: |
| LOW | api/tasks/remove_app_and_related_data_task.py | 320 | except Exception: |
| LOW | api/tasks/remove_app_and_related_data_task.py | 329 | except Exception: |
| 1068 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | dify-agent/tests/docs/test_examples.py | 1 | |
| LOW | dify-agent/tests/docs/test_snippets.py | 1 | |
| LOW | dify-agent/tests/local/test_packaging.py | 1 | |
| LOW | …agent/tests/local/dify_agent/test_import_boundaries.py | 1 | |
| LOW | dify-agent/tests/local/dify_agent/server/test_app.py | 1 | |
| LOW | dify-agent/tests/local/dify_agent/client/test_client.py | 1 | |
| LOW | …agent/tests/local/examples/test_dify_agent_examples.py | 1 | |
| LOW | dify-agent/docs/.hooks/snippets.py | 1 | |
| LOW | dify-agent/docs/.hooks/main.py | 1 | |
| LOW | …/examples/agenton/agenton_examples/session_snapshot.py | 3 | |
| LOW | dify-agent/examples/agenton/agenton_examples/basics.py | 3 | |
| LOW | …xamples/agenton/agenton_examples/pydantic_ai_bridge.py | 10 | |
| LOW | …fy-agent/examples/agenton/agenton_examples/__main__.py | 3 | |
| LOW | …ify_agent/dify_agent_examples/run_pydantic_ai_agent.py | 17 | |
| LOW | …nt/examples/dify_agent/dify_agent_examples/__main__.py | 3 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 8 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/__init__.py | 19 | |
| LOW | dify-agent/src/agenton/layers/types.py | 19 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 23 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 23 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 25 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 25 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 26 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 26 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 27 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 27 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 27 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 27 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 27 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 27 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 35 | |
| LOW | dify-agent/src/agenton/compositor/__init__.py | 35 | |
| LOW | dify-agent/src/dify_agent/plugin_daemon_transport.py | 8 | |
| LOW | dify-agent/src/dify_agent/__init__.py | 8 | |
| LOW | …agent/src/dify_agent/layers/dify_plugin/tools_layer.py | 14 | |
| LOW | …fy-agent/src/dify_agent/layers/dify_plugin/__init__.py | 7 | |
| 1136 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | scripts/stress-test/common/config_helper.py | 284 | # Create a default instance for convenience |
| MEDIUM | api/celery_healthcheck.py | 1 | # This module provides a lightweight Celery instance for use in Docker health checks. |
| MEDIUM | api/core/app/apps/pipeline/pipeline_runner.py | 116 | # Create a variable pool. |
| MEDIUM | api/core/app/apps/workflow/app_runner.py | 101 | # Create a variable pool. |
| MEDIUM | api/core/app/apps/advanced_chat/app_runner.py | 174 | # Initialize conversation variables |
| MEDIUM | api/core/app/apps/advanced_chat/app_runner.py | 177 | # Create a variable pool. |
| MEDIUM | api/core/plugin/utils/chunk_merger.py | 78 | # Create the appropriate message type based on the response type |
| MEDIUM | …positories/sqlalchemy_workflow_execution_repository.py | 196 | # Create a new database session |
| MEDIUM | api/core/mcp/auth_client.py | 84 | # Create a temporary session only for auth retry |
| MEDIUM | api/core/rag/index_processor/index_processor_base.py | 206 | # Create a mapping from ID to UploadFile for quick lookup |
| MEDIUM | api/core/rag/index_processor/index_processor_base.py | 209 | # Create a Document for each occurrence (including duplicates) |
| MEDIUM | …index_processor/processor/paragraph_index_processor.py | 147 | # This method is called for actual deletion scenarios (e.g., when segment is deleted). |
| MEDIUM | …ex_processor/processor/parent_child_index_processor.py | 155 | # This method is called for actual deletion scenarios (e.g., when segment is deleted). |
| MEDIUM | …re/rag/index_processor/processor/qa_index_processor.py | 158 | # This method is called for actual deletion scenarios (e.g., when segment is deleted). |
| MEDIUM | api/core/schemas/resolver.py | 267 | # Create a copy and remove metadata fields |
| MEDIUM | api/core/workflow/workflow_entry.py | 407 | # Create a minimal graph for single node execution |
| MEDIUM | api/core/ops/ops_trace_manager.py | 376 | # Create a new instance of the config class with the new configuration |
| MEDIUM | api/constants/recommended_apps.json | 468 | "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.py | 233 | # Create a named tracer instead of setting the global provider |
| MEDIUM | …iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py | 118 | # Define the table schema |
| MEDIUM | …iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py | 174 | # Define the table schema |
| MEDIUM | …iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py | 256 | # Define the base query |
| MEDIUM | …/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py | 684 | # Create a document with doc_type metadata (as produced by multimodal indexing) |
| MEDIUM | …rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py | 333 | # 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.py | 348 | # Create the primary key field |
| MEDIUM | …rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py | 350 | # Create the vector field, supports binary or float vectors |
| MEDIUM | …rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py | 381 | # Create the collection |
| MEDIUM | …unit_tests/tasks/test_workflow_node_execution_tasks.py | 191 | # # Create a mock task instance with proper retry behavior |
| MEDIUM | …unit_tests/tasks/test_workflow_node_execution_tasks.py | 472 | # # Create a mock task instance with proper retry behavior |
| MEDIUM | api/tests/unit_tests/tasks/test_mail_send_task.py | 1370 | # Create a large HTML body (simulating a newsletter) |
| MEDIUM | api/tests/unit_tests/tools/test_api_tool.py | 28 | # Create a mock tool entity |
| MEDIUM | api/tests/unit_tests/tools/test_api_tool.py | 37 | # Create a mock API bundle |
| MEDIUM | api/tests/unit_tests/tools/test_api_tool.py | 47 | # Create a mock runtime |
| MEDIUM | api/tests/unit_tests/tools/test_api_tool.py | 51 | # Create the ApiTool instance |
| MEDIUM | api/tests/unit_tests/core/test_file.py | 23 | # Create a feature dict that mimics the old structure with image config |
| MEDIUM | api/tests/unit_tests/core/test_file.py | 30 | # Create a workflow instance with the features |
| MEDIUM | …sts/unit_tests/core/datasource/test_notion_provider.py | 1585 | # Create a custom query filter |
| MEDIUM | …tests/unit_tests/core/datasource/test_website_crawl.py | 1538 | # Create a crawl message with results |
| MEDIUM | …it_tests/core/datasource/entities/test_api_entities.py | 63 | # Create a parameter that should be converted |
| MEDIUM | …tests/unit_tests/core/tools/test_tool_label_manager.py | 15 | # Create a mock class for testing abstract/base classes |
| MEDIUM | …sts/core/app/features/rate_limiting/test_rate_limit.py | 410 | # Create a generator-like object without close method |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 90 | # Create a mock runner with the method bound |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 151 | # Create a small test image (1x1 PNG) |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 177 | # Create a mock runner with the method bound |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 250 | # Create a mock runner with the method bound |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 289 | # Create a mock runner with the method bound |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 333 | # Create a mock runner with the method bound |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 387 | # Create a mock runner with the method bound |
| MEDIUM | …/core/app/apps/chat/test_base_app_runner_multimodal.py | 439 | # Create a mock runner with the method bound |
| MEDIUM | …/common/test_workflow_response_converter_truncation.py | 421 | # Create a minimal WorkflowUIBasedAppConfig for testing |
| MEDIUM | …/common/test_workflow_response_converter_truncation.py | 520 | # Create a test event with large data |
| MEDIUM | …/common/test_workflow_response_converter_truncation.py | 561 | # Create a test event with large data |
| MEDIUM | …/common/test_workflow_response_converter_truncation.py | 601 | # Create a test event with large data |
| MEDIUM | …sts/unit_tests/core/memory/test_token_buffer_memory.py | 960 | # Create a mock message with a SYSTEM role |
| MEDIUM | api/tests/unit_tests/core/plugin/test_plugin_runtime.py | 537 | # Create a proper nested JSON structure for PluginInvokeError |
| MEDIUM | …tests/unit_tests/core/plugin/utils/test_http_parser.py | 14 | # Create a simple GET request |
| MEDIUM | …tests/unit_tests/core/plugin/utils/test_http_parser.py | 32 | # Create a GET request with query parameters |
| MEDIUM | …tests/unit_tests/core/plugin/utils/test_http_parser.py | 49 | # Create a POST request with body |
| MEDIUM | …tests/unit_tests/core/plugin/utils/test_http_parser.py | 74 | # Create a request with custom headers |
| MEDIUM | …ositories/test_celery_workflow_execution_repository.py | 27 | # Create a real sessionmaker with in-memory SQLite for testing |
| 194 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker/dify-env-sync.py | 293 | |
| LOW | dify-agent/docs/.hooks/snippets.py | 130 | |
| LOW | …agent/src/dify_agent/layers/dify_plugin/tools_layer.py | 165 | |
| LOW | …agent/src/dify_agent/layers/dify_plugin/tools_layer.py | 296 | |
| LOW | dify-agent/src/dify_agent/layers/output/output_layer.py | 214 | |
| LOW | dify-agent/src/dify_agent/layers/output/output_layer.py | 271 | |
| LOW | dify-agent/src/dify_agent/layers/output/output_layer.py | 226 | |
| LOW | dify-agent/src/dify_agent/storage/redis_run_store.py | 109 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 249 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 280 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 307 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 327 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 374 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 553 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 593 | |
| LOW | dify-agent/src/dify_agent/adapters/llm/model.py | 662 | |
| LOW | dify-agent/src/dify_agent/client/_client.py | 426 | |
| LOW | dify-agent/src/dify_agent/client/_client.py | 534 | |
| LOW | scripts/stress-test/sse_benchmark.py | 559 | |
| LOW | scripts/stress-test/sse_benchmark.py | 326 | |
| LOW | scripts/stress-test/sse_benchmark.py | 400 | |
| LOW | scripts/stress-test/sse_benchmark.py | 567 | |
| LOW | scripts/stress-test/setup/install_openai_plugin.py | 14 | |
| LOW | scripts/stress-test/setup/login_admin.py | 14 | |
| LOW | scripts/stress-test/setup/import_workflow_app.py | 14 | |
| LOW | scripts/stress-test/setup/configure_openai_plugin.py | 12 | |
| LOW | scripts/stress-test/setup/create_api_key.py | 14 | |
| LOW | scripts/stress-test/setup/publish_workflow.py | 14 | |
| LOW | scripts/stress-test/setup/setup_admin.py | 12 | |
| LOW | scripts/stress-test/setup/run_workflow.py | 14 | |
| LOW | api/app_factory.py | 49 | |
| LOW | api/app_factory.py | 60 | |
| LOW | api/schedule/update_api_token_last_used_task.py | 28 | |
| LOW | api/schedule/mail_clean_document_notify_task.py | 22 | |
| LOW | api/schedule/clean_workflow_runlogs_precise.py | 44 | |
| LOW | api/schedule/clean_workflow_runlogs_precise.py | 107 | |
| LOW | api/schedule/queue_monitor_task.py | 34 | |
| LOW | api/schedule/workflow_schedule_task.py | 18 | |
| LOW | api/schedule/clean_unused_datasets_task.py | 26 | |
| LOW | api/tasks/regenerate_summary_index_task.py | 21 | |
| LOW | api/tasks/enable_segments_to_index_task.py | 22 | |
| LOW | api/tasks/deal_dataset_index_update_task.py | 18 | |
| LOW | api/tasks/remove_app_and_related_data_task.py | 682 | |
| LOW | api/tasks/clean_document_task.py | 19 | |
| LOW | api/tasks/retry_document_indexing_task.py | 23 | |
| LOW | api/tasks/duplicate_document_indexing_task.py | 79 | |
| LOW | api/tasks/enable_segment_to_index_task.py | 22 | |
| LOW | …/tasks/process_tenant_plugin_autoupgrade_check_task.py | 76 | |
| LOW | api/tasks/document_indexing_task.py | 49 | |
| LOW | api/tasks/document_indexing_task.py | 193 | |
| LOW | api/tasks/deal_dataset_vector_index_task.py | 20 | |
| LOW | api/tasks/recover_document_indexing_task.py | 16 | |
| LOW | api/tasks/batch_clean_document_task.py | 24 | |
| LOW | api/tasks/add_document_to_index_task.py | 23 | |
| LOW | api/tasks/remove_document_from_index_task.py | 18 | |
| LOW | api/tasks/sync_website_document_indexing_task.py | 21 | |
| LOW | api/tasks/clean_dataset_task.py | 33 | |
| LOW | api/tasks/trigger_processing_tasks.py | 230 | |
| LOW | api/tasks/delete_segment_from_index_task.py | 17 | |
| LOW | api/tasks/ops_trace_task.py | 47 | |
| 539 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | api/context/flask_app_context.py | 57 | Capture current Flask execution context. This function captures the Flask app context and contextvars from the |
| HIGH | api/core/tools/utils/system_encryption.py | 47 | Encrypt parameters. Args: params: Parameters dictionary, e.g., {"client_id": "xxx", "clien |
| HIGH | api/core/tools/utils/system_encryption.py | 82 | Decrypt parameters. Args: encrypted_data: Base64-encoded encrypted string Returns |
| HIGH | api/core/app/apps/workflow_app_runner.py | 175 | Prepare graph, variable pool, and runtime state for single node execution (either single iteration or s |
| HIGH | api/core/plugin/utils/chunk_merger.py | 27 | Merge streaming blob chunks into complete blob messages. This function processes a stream of plugin invoke mes |
| HIGH | api/core/repositories/factory.py | 69 | Create a WorkflowExecutionRepository instance based on configuration. Args: session_factor |
| HIGH | api/core/repositories/factory.py | 105 | Create a WorkflowNodeExecutionRepository instance based on configuration. Args: session_fa |
| HIGH | api/core/mcp/auth_client.py | 126 | Execute a function with authentication retry logic. Args: func: The function to execute |
| HIGH | api/core/mcp/auth_client.py | 187 | Invoke a tool on the MCP server with auth retry. Args: tool_name: Name of the tool to invo |
| HIGH | api/core/mcp/auth/auth_flow.py | 370 | Parse OAuth token response supporting both JSON and form-urlencoded formats. Per RFC 6749 Section 5.1, the sta |
| HIGH | api/core/mcp/client/sse_client.py | 198 | Wait for the endpoint URL from the status queue. Args: status_queue: Queue to read status from. |
| HIGH | api/core/schemas/resolver.py | 86 | Resolve all $ref references in the schema Performance optimization: quickly checks for $ref presence b |
| HIGH | api/core/schemas/resolver.py | 228 | Resolve $ref references in Dify schema to actual schema content This is a convenience function that creates a |
| HIGH | api/core/ops/utils.py | 70 | Validate and normalize URL with proper error handling. NOTE: This function does not retain the `path` componen |
| HIGH | api/core/ops/utils.py | 107 | Validate URL that may include path components Args: url: The URL to validate default_url: Defa |
| HIGH | api/core/ops/base_trace_instance.py | 33 | Get service account for an app and set up its tenant. Args: app_id: The ID of the app |
| HIGH | api/core/helper/csv_sanitizer.py | 24 | Sanitize a value for safe CSV export. Prefixes formula-initiating characters with a single quote to pr |
| HIGH | api/core/helper/csv_sanitizer.py | 63 | Sanitize specified fields in a dictionary. Args: data: Dictionary containing data to sanit |
| HIGH | …repositories/sqlalchemy_api_workflow_run_repository.py | 702 | 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.py | 834 | 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.py | 874 | Resume a paused workflow. Marks a paused workflow as resumed, clearing the pause state and ret |
| HIGH | …repositories/sqlalchemy_api_workflow_run_repository.py | 981 | Clean up expired and old pause states. Removes pause states that have expired (created before expirati |
| HIGH | api/repositories/factory.py | 30 | Create a DifyAPIWorkflowNodeExecutionRepository instance based on configuration. This repository is de |
| HIGH | api/repositories/factory.py | 59 | Create an APIWorkflowRunRepository instance based on configuration. This repository is designed for se |
| HIGH | api/repositories/api_workflow_run_repository.py | 86 | Get paginated workflow runs with filtering. Retrieves workflow runs for a specific app and trigger sou |
| HIGH | api/repositories/api_workflow_run_repository.py | 427 | Create a new workflow pause state. Creates a pause state for a workflow run, storing the current execu |
| HIGH | api/repositories/api_workflow_run_repository.py | 463 | Resume a paused workflow. Marks a paused workflow as resumed, set the `resumed_at` field of WorkflowPa |
| HIGH | api/repositories/api_workflow_run_repository.py | 518 | Clean up expired and old pause states. Removes pause states that have expired (created before expirati |
| HIGH | api/extensions/logstore/sql_escape.py | 18 | Escape a string value for safe use in SQL queries. This function escapes single quotes by doubling them, which |
| HIGH | api/extensions/logstore/sql_escape.py | 53 | Escape an identifier (tenant_id, app_id, run_id, etc.) for safe SQL use. This function is for PG protocol mode |
| HIGH | api/extensions/logstore/sql_escape.py | 82 | Escape value for LogStore query syntax (SDK mode). LogStore query syntax rules: 1. Keywords (and/or/not) a |
| HIGH | api/libs/schedule_utils.py | 55 | Parse 12-hour time format to 24-hour format for cron compatibility. Args: time_str: Time string in for |
| HIGH | api/libs/archive_storage.py | 90 | Upload an object to the archive storage. Args: key: Object key (path) within the bucket |
| HIGH | api/libs/archive_storage.py | 123 | Download an object from the archive storage. Args: key: Object key (path) within the bucke |
| HIGH | api/libs/archive_storage.py | 146 | Stream an object from the archive storage. Args: key: Object key (path) within the bucket |
| HIGH | api/libs/archive_storage.py | 201 | Generate a pre-signed URL for downloading an object. Args: key: Object key (path) within t |
| HIGH | api/libs/uuid_utils.py | 116 | Extract the timestamp from a UUIDv7. UUIDv7 contains a 48-bit timestamp field representing milliseconds since t |
| HIGH | api/libs/custom_inputs.py | 7 | Validate and return time duration string. Accepts formats: <number>d (days), <number>h (hours), <number>m (min |
| HIGH | api/libs/helper.py | 70 | Escape special characters in a string for safe use in SQL LIKE patterns. This function escapes the special cha |
| HIGH | api/libs/helper.py | 102 | Extract tenant_id from Account or EndUser object. Args: user: Account or EndUser object Returns: |
| HIGH | api/libs/datetime_utils.py | 41 | Parse time range strings and convert to UTC datetime objects. Handles DST ambiguity and non-existent times grac |
| HIGH | api/libs/module_loading.py | 32 | Import a dotted module path and return the attribute/class designated by the last name in the path. Raise Impor |
| HIGH | api/configs/middleware/vdb/iris_config.py | 70 | Validate IRIS configuration values. Args: values: Configuration dictionary Returns: |
| HIGH | api/controllers/web/files.py | 36 | Upload a file for use in web applications. Accepts file uploads for use within web applications, supporting |
| HIGH | api/controllers/web/remote_files.py | 46 | Get information about a remote file. Retrieves basic information about a file located at a remote URL, |
| HIGH | api/controllers/web/remote_files.py | 90 | Upload a file from a remote URL. Downloads a file from the provided remote URL and uploads it to the pl |
| HIGH | api/controllers/mcp/mcp.py | 53 | Handle MCP requests for a specific server. Processes JSON-RPC formatted requests according to the Model Context |
| HIGH | api/controllers/service_api/app/file_preview.py | 81 | Validate that the file belongs to a message within the requesting app's context Security validations p |
| HIGH | api/controllers/service_api/dataset/dataset.py | 484 | Deletes a dataset given its ID. Args: _: ignore dataset_id (UUID): The ID of t |
| HIGH | api/controllers/service_api/dataset/dataset.py | 539 | Batch update document status. Args: tenant_id: tenant id dataset_id: dataset i |
| HIGH | api/controllers/console/datasets/datasets.py | 307 | Get supported retrieval methods based on vector database type. Args: vector_type: Vector database type |
| HIGH | api/services/async_workflow_service.py | 56 | Universal entry point for async workflow execution - THIS METHOD WILL NOT BLOCK Creates a trigger log |
| HIGH | api/services/async_workflow_service.py | 192 | Re-invoke a previously failed or rate-limited trigger - THIS METHOD WILL NOT BLOCK Updates the existin |
| HIGH | api/services/async_workflow_service.py | 314 | Get workflow for the app Args: app_model: App model instance workflow_id: Opti |
| HIGH | api/services/conversation_service.py | 284 | Update a conversation variable's value. Args: app_model: The app model convers |
| HIGH | api/services/model_provider_service.py | 34 | Get provider configuration or raise exception if not found. Args: tenant_id: Workspace ide |
| HIGH | api/services/summary_index_service.py | 54 | Generate summary for a single segment. Args: segment: DocumentSegment to generate summary |
| HIGH | api/services/summary_index_service.py | 645 | Generate summary for a segment and vectorize it. Assumes summary record already exists (created by batc |
| HIGH | api/services/dataset_service.py | 552 | Update dataset configuration and settings. Args: dataset_id: The unique identifier of the |
| HIGH | api/services/tools/mcp_tools_manage_service.py | 89 | Get MCP provider by ID or server identifier. Args: provider_id: Provider ID (UUID) |
| 12 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker/dify-env-sync.py | 1 | #!/usr/bin/env python3 |
| LOW | docker/dify-env-sync.sh | 1 | #!/bin/bash |
| LOW | docker/ssrf_proxy/docker-entrypoint.sh | 1 | #!/bin/bash |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 1 | --- |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 21 | |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 41 | |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 61 | # server.ssl.enabled: false |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 81 | |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 101 | # pid.file: /var/run/opensearchDashboards.pid |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 121 | # Supported languages are the following: English - en , by default , Chinese - zh-CN . |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 141 | # //Reserved IP address |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 161 | # defaultUrl: "" |
| LOW | docker/volumes/opensearch/opensearch_dashboards.yml | 181 | # Set the value of this setting to false to disable VisBuilder |
| LOW | …fy_agent/dify_agent_examples/run_server_sync_client.py | 61 | ), |
| LOW | …fy_agent/dify_agent_examples/run_server_sync_client.py | 81 | # provider="search", |
| LOW | …/dify_agent/dify_agent_examples/run_server_consumer.py | 61 | type=DIFY_PLUGIN_LLM_LAYER_TYPE_ID, |
| LOW | …/dify_agent/dify_agent_examples/run_server_consumer.py | 81 | # name="tools", |
| LOW | …/dify_agent/dify_agent_examples/run_server_consumer.py | 101 | # ], |
| LOW | sdks/nodejs-client/scripts/publish.sh | 1 | #!/usr/bin/env bash |
| LOW | …/tools/mcp/sections/__tests__/headers-section.spec.tsx | 181 | // Empty key headers don't trigger masking |
| LOW | …/tools/mcp/sections/__tests__/headers-section.spec.tsx | 201 | // Empty key headers don't trigger masking |
| LOW | …/tools/mcp/sections/__tests__/headers-section.spec.tsx | 221 | // Whitespace-only key doesn't count as having content |
| LOW | …ools/workflow-tool/__tests__/configure-button.spec.tsx | 661 | // Assert |
| LOW | …ools/workflow-tool/__tests__/configure-button.spec.tsx | 1141 | // Assert |
| LOW | …/config/assistant-type-picker/__tests__/index.spec.tsx | 341 | await waitFor(() => { |
| LOW | …/config/assistant-type-picker/__tests__/index.spec.tsx | 361 | // Assert - Agent settings modal should not appear (value is 'chat') |
| LOW | …ts/app/configuration/config/automatic/prompt-toast.tsx | 21 | // const message = ` |
| LOW | …ig/settings-modal/__tests__/retrieval-section.spec.tsx | 161 | // Arrange & Act |
| LOW | …ig/settings-modal/__tests__/retrieval-section.spec.tsx | 181 | // Assert |
| LOW | …taset-config/context-var/__tests__/var-picker.spec.tsx | 141 | render(<VarPicker {...props} />) |
| LOW | …taset-config/context-var/__tests__/var-picker.spec.tsx | 161 | // Assert |
| LOW | …taset-config/context-var/__tests__/var-picker.spec.tsx | 321 | // State Management |
| LOW | …taset-config/context-var/__tests__/var-picker.spec.tsx | 341 | // Assert |
| LOW | …on/dataset-config/context-var/__tests__/index.spec.tsx | 141 | ...defaultProps, |
| LOW | …on/dataset-config/context-var/__tests__/index.spec.tsx | 161 | // Assert - Should show placeholder instead of variable |
| LOW | …bug/debug-with-multiple-model/__tests__/index.spec.tsx | 461 | |
| LOW | …bug/debug-with-multiple-model/__tests__/index.spec.tsx | 481 | // Assert |
| LOW | …ebug-with-multiple-model/__tests__/debug-item.spec.tsx | 521 | // When provider/model doesn't match, ChatItem won't render |
| LOW | …ebug-with-multiple-model/__tests__/debug-item.spec.tsx | 541 | // When provider/model doesn't match, ChatItem won't render |
| LOW | …otation/edit-annotation-modal/__tests__/index.spec.tsx | 81 | |
| LOW | …otation/edit-annotation-modal/__tests__/index.spec.tsx | 101 | // Assert |
| LOW | …otation/edit-annotation-modal/__tests__/index.spec.tsx | 321 | it('should initialize with closed confirm modal', () => { |
| LOW | …otation/edit-annotation-modal/__tests__/index.spec.tsx | 341 | // Assert - Confirm dialog should not be visible initially |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 481 | ) |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 501 | // Before click - no highlight |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 601 | ) |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 621 | // Replay button should not be present for webhook triggers |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 801 | |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 821 | // Should render without trigger column |
| LOW | …lugins/marketplace/search-box/__tests__/index.spec.tsx | 601 | ) |
| LOW | …lugins/marketplace/search-box/__tests__/index.spec.tsx | 621 | // Clear button should not be present |
| LOW | …mponents/plugins/plugin-item/__tests__/action.spec.tsx | 461 | |
| LOW | …mponents/plugins/plugin-item/__tests__/action.spec.tsx | 481 | // Assert |
| LOW | …nel/model-selector/__tests__/tts-params-panel.spec.tsx | 401 | |
| LOW | …nel/model-selector/__tests__/tts-params-panel.spec.tsx | 421 | // Assert - no voice items should be rendered |
| LOW | …nel/model-selector/__tests__/tts-params-panel.spec.tsx | 461 | // Assert |
| LOW | …nel/model-selector/__tests__/tts-params-panel.spec.tsx | 681 | // Assert |
| LOW | …nel/model-selector/__tests__/tts-params-panel.spec.tsx | 701 | // Assert |
| LOW | …anel/subscription-list/create/__tests__/index.spec.tsx | 301 | it('should render without crashing when supportedMethods is provided', () => { |
| LOW | …anel/subscription-list/create/__tests__/index.spec.tsx | 321 | // Assert |
| 264 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker/dify-env-sync.sh | 310 | # Check if this is an environment variable line |
| LOW | docker/dify-env-sync.sh | 316 | # Check if key should be preserved |
| LOW | docker/nginx/docker-entrypoint.sh | 6 | # Check if the certificate and key files for the specified domain exist |
| LOW | docker/elasticsearch/docker-entrypoint.sh | 6 | # Check if the ICU tokenizer plugin is installed |
| LOW | docker/elasticsearch/docker-entrypoint.sh | 14 | # Check if the Japanese language analyzer plugin is installed |
| LOW | sdks/nodejs-client/scripts/publish.sh | 174 | # Check if version already exists on npm |
| LOW | scripts/stress-test/run_locust_stress_test.sh | 37 | # Check if services are running |
| LOW | scripts/stress-test/setup_all.py | 33 | # Print output |
| LOW | scripts/stress-test/setup_all.py | 76 | # Check if required services are running |
| LOW | scripts/stress-test/sse_benchmark.py | 460 | # Check if runner is stopping |
| LOW | scripts/stress-test/setup/login_admin.py | 56 | # Check if login was successful |
| LOW | scripts/stress-test/setup/run_workflow.py | 86 | # Print output if it's the LLM node |
| LOW | api/tasks/regenerate_summary_index_task.py | 66 | # Check if summary index is enabled (only for summary_model change) |
| LOW | api/tasks/generate_summary_index_task.py | 53 | # Check if document needs summary |
| LOW | api/tasks/generate_summary_index_task.py | 74 | # Check if summary index is enabled |
| LOW | api/tasks/duplicate_document_indexing_task.py | 57 | # Check if there are waiting tasks in the queue |
| LOW | api/tasks/document_indexing_task.py | 209 | # Check if there are waiting tasks in the queue |
| LOW | api/tasks/workflow_node_execution_tasks.py | 55 | # Check if node execution already exists |
| LOW | api/tasks/workflow_execution_tasks.py | 53 | # Check if workflow run already exists |
| LOW | …i/tasks/rag_pipeline/priority_rag_pipeline_run_task.py | 81 | # Check if there are waiting tasks in the queue |
| LOW | api/tasks/rag_pipeline/rag_pipeline_run_task.py | 87 | # Check if there are waiting tasks in the queue |
| LOW | api/docker/entrypoint.sh | 25 | # Set MAX_WORKERS to the number of available cores if not specified |
| LOW | api/core/datasource/datasource_file_manager.py | 182 | # Check if message_file is not None |
| LOW | api/core/tools/tool_file_manager.py | 195 | # Check if message_file is not None |
| LOW | api/core/tools/utils/text_processing_utils.py | 15 | # Check if text starts with a markdown link - preserve it |
| LOW | api/core/tools/mcp_tool/tool.py | 99 | # Check if content looks like JSON before attempting to parse |
| LOW | api/core/app/apps/base_app_generator.py | 141 | # Check if all files are converted to File |
| LOW | api/core/plugin/utils/chunk_merger.py | 60 | # Check if file is too large (before appending) |
| LOW | api/core/plugin/utils/chunk_merger.py | 66 | # Check if single chunk is too large |
| LOW | …ories/sqlalchemy_workflow_node_execution_repository.py | 383 | # Check if record already exists |
| LOW | api/core/agent/fc_agent_runner.py | 223 | # Check if max iteration is reached and model still wants to call tools |
| LOW | api/core/agent/cot_agent_runner.py | 175 | # Check if max iteration is reached and model still wants to call tools |
| LOW | api/core/mcp/client/streamable_client.py | 416 | # Check if we should stop |
| LOW | api/core/mcp/client/streamable_client.py | 431 | # Check if this is a resumption request |
| LOW | api/core/rag/datasource/retrieval_service.py | 491 | # Check if this is a summary document |
| LOW | api/core/rag/datasource/retrieval_service.py | 629 | # Check if this segment was retrieved via summary |
| LOW | api/core/rag/datasource/retrieval_service.py | 675 | # Check if this segment was retrieved via summary |
| LOW | api/core/schemas/resolver.py | 307 | # Check if this dict has a $ref field |
| LOW | api/core/prompt/simple_prompt_transform.py | 328 | # Check if the prompt file is already loaded |
| LOW | api/core/ops/ops_trace_manager.py | 140 | # Check if there's a model-specific config |
| LOW | api/core/ops/utils.py | 96 | # Check if scheme is allowed |
| LOW | api/core/ops/utils.py | 127 | # Check if scheme is allowed |
| LOW | api/core/helper/ssrf_proxy.py | 184 | # Check if this is a Squid SSRF rejection |
| LOW | api/core/helper/csv_sanitizer.py | 54 | # Check if first character is a formula initiator |
| LOW | api/core/helper/credential_utils.py | 74 | # Check if credential exists in database first (if requested) |
| LOW | api/core/helper/code_executor/template_transformer.py | 81 | # Check if the string looks like scientific notation |
| LOW | api/core/logging/filters.py | 74 | # Check if user is authenticated using the proxy |
| LOW | api/core/entities/mcp_provider.py | 205 | # Check if we have nested client_information structure |
| LOW | api/core/entities/provider_configuration.py | 636 | # Check if this credential is used in load balancing configs |
| LOW | api/core/entities/provider_configuration.py | 654 | # Check if this is the currently active credential |
| LOW | api/core/entities/provider_configuration.py | 1102 | # Check if this is the currently active credential |
| LOW | …b-oceanbase/src/dify_vdb_oceanbase/oceanbase_vector.py | 87 | self._hybrid_search_enabled = self._check_hybrid_search_support() # Check if hybrid search is supported |
| LOW | …rch/src/dify_vdb_elasticsearch/elasticsearch_vector.py | 86 | # Check if using Elastic Cloud |
| LOW | …rch/src/dify_vdb_elasticsearch/elasticsearch_vector.py | 311 | # Check if ELASTICSEARCH_USE_CLOUD is explicitly set to false (boolean) |
| LOW | …rs/vdb/vdb-chroma/src/dify_vdb_chroma/chroma_vector.py | 120 | # Check if results contain data |
| LOW | …b-couchbase/src/dify_vdb_couchbase/couchbase_vector.py | 200 | # Check if the collection exists in the scope |
| LOW | …lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py | 214 | # Check if connection is not expired and still valid |
| LOW | …lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py | 483 | # Check if table already exists to avoid unnecessary index creation |
| LOW | …lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py | 524 | # Check if vector index already exists on the embedding column |
| LOW | …lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py | 557 | # Check if an inverted index already exists on this column |
| 117 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/app/install/installForm.spec.tsx | 68 | fireEvent.change(await screen.findByLabelText('login.email'), { target: { value: 'admin@example.com' } }) |
| LOW | web/app/install/installForm.spec.tsx | 80 | email: 'admin@example.com', |
| LOW | web/app/install/installForm.spec.tsx | 92 | email: 'admin@example.com', |
| LOW | web/app/install/installForm.spec.tsx | 109 | fireEvent.change(await screen.findByLabelText('login.email'), { target: { value: 'admin@example.com' } }) |
| LOW | web/app/install/installForm.spec.tsx | 130 | fireEvent.change(await screen.findByLabelText('login.email'), { target: { value: 'admin@example.com' } }) |
| LOW | …dataset-config/settings-modal/__tests__/index.spec.tsx | 73 | email: 'user@example.com', |
| LOW | …dataset-config/settings-modal/__tests__/index.spec.tsx | 230 | email: 'user@example.com', |
| LOW | …mponents/app/switch-app-modal/__tests__/index.spec.tsx | 35 | email: 'user@example.com', |
| LOW | web/app/components/app/log/__tests__/var-panel.spec.tsx | 21 | { label: 'name', value: 'John Doe' }, |
| LOW | web/app/components/app/log/__tests__/var-panel.spec.tsx | 44 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | web/app/components/app/log/__tests__/var-panel.spec.tsx | 70 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | web/app/components/app/log/__tests__/var-panel.spec.tsx | 80 | expect(screen.queryByText('John Doe')).not.toBeInTheDocument() |
| LOW | web/app/components/app/log/__tests__/var-panel.spec.tsx | 91 | expect(screen.queryByText('John Doe')).not.toBeInTheDocument() |
| LOW | web/app/components/app/log/__tests__/var-panel.spec.tsx | 95 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 326 | created_by_account: { id: 'acc-1', name: 'John Doe', email: 'john@example.com' }, |
| LOW | …pp/components/app/workflow-log/__tests__/list.spec.tsx | 335 | expect(screen.getByText('John Doe'))!.toBeInTheDocument() |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 7 | name: 'John Doe', |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 19 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 29 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 41 | const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 48 | const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 55 | const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 84 | const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 93 | const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 99 | const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 135 | let container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 140 | container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 153 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …ngs/permission-selector/__tests__/member-item.spec.tsx | 187 | const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElement |
| LOW | …/settings/permission-selector/__tests__/index.spec.tsx | 20 | { 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.tsx | 161 | expect(screen.getByText('John Doe'))!.toBeInTheDocument() |
| LOW | …/settings/permission-selector/__tests__/index.spec.tsx | 180 | const johnDoe = screen.getByText('John Doe') |
| LOW | …/settings/permission-selector/__tests__/index.spec.tsx | 202 | const johnDoe = screen.getByText('John Doe') |
| LOW | …/settings/permission-selector/__tests__/index.spec.tsx | 266 | expect(screen.getByText('John Doe'))!.toBeInTheDocument() |
| LOW | …/settings/permission-selector/__tests__/index.spec.tsx | 319 | expect(screen.getByText('John Doe'))!.toBeInTheDocument() |
| LOW | …card/components/__tests__/dataset-card-header.spec.tsx | 107 | const dataset = createMockDataset({ author_name: 'John Doe' }) |
| LOW | …card/components/__tests__/dataset-card-header.spec.tsx | 109 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …omponents/variable/__tests__/match-schema-type.spec.ts | 46 | street: { type: 'string', value: '123 Main St' }, |
| LOW | …odes/loop/__tests__/use-single-run-form-params.spec.ts | 87 | email: 'user@example.com', |
| LOW | …ool/hooks/__tests__/use-single-run-form-params.spec.ts | 72 | email: 'user@example.com', |
| LOW | web/app/components/workflow/__tests__/fixtures.ts | 132 | created_by: { id: 'user-1', name: 'Test', email: 'test@test.com' }, |
| LOW | …/workflow/run/utils/format-log/__tests__/index.spec.ts | 71 | email: 'user@example.com', |
| LOW | …omponents/workflow/run/__tests__/result-panel.spec.tsx | 166 | email: 'user@example.com', |
| LOW | web/app/components/workflow/run/__tests__/hooks.spec.ts | 36 | email: 'user@example.com', |
| LOW | …fer-ownership-modal/__tests__/member-selector.spec.tsx | 10 | { id: '1', name: 'John Doe', email: 'john@example.com', avatar_url: '' }, |
| LOW | …fer-ownership-modal/__tests__/member-selector.spec.tsx | 32 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …fer-ownership-modal/__tests__/member-selector.spec.tsx | 44 | expect(screen.queryByText('John Doe')).not.toBeInTheDocument() |
| LOW | …fer-ownership-modal/__tests__/member-selector.spec.tsx | 83 | expect(screen.getByText('John Doe')).toBeInTheDocument() |
| LOW | …/account-setting/members-page/__tests__/index.spec.tsx | 98 | email: 'admin@example.com', |
| LOW | …/account-setting/members-page/__tests__/index.spec.tsx | 192 | userProfile: { email: 'admin@example.com' }, |
| LOW | …/account-setting/members-page/__tests__/index.spec.tsx | 293 | userProfile: { email: 'admin@example.com' }, |
| LOW | …/account-setting/members-page/__tests__/index.spec.tsx | 307 | userProfile: { email: 'admin@example.com' }, |
| LOW | …/account-setting/members-page/__tests__/index.spec.tsx | 385 | userProfile: { email: 'admin@example.com' }, |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 81 | fillEmails('user@example.com') |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 92 | fillEmails('user@example.com') |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 111 | fillEmails('user@example.com') |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 130 | fillEmails('user@example.com') |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 160 | fillEmails('user@example.com') |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 162 | expect(screen.getByText('user@example.com')).toBeInTheDocument() |
| LOW | …ing/members-page/invite-modal/__tests__/index.spec.tsx | 167 | expect(screen.queryByText('user@example.com')).not.toBeInTheDocument() |
| 169 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | sdks/nodejs-client/scripts/publish.sh | 127 | # Step 1: Environment Check |
| LOW | sdks/nodejs-client/scripts/publish.sh | 164 | # Step 2: Read Package Info |
| LOW | sdks/nodejs-client/scripts/publish.sh | 187 | # Step 3: Install Dependencies |
| LOW | sdks/nodejs-client/scripts/publish.sh | 195 | # Step 4: Run Tests |
| LOW | sdks/nodejs-client/scripts/publish.sh | 207 | # Step 5: Build |
| LOW | sdks/nodejs-client/scripts/publish.sh | 229 | # Step 6: Publish |
| LOW | …-panel/subscription-list/edit/__tests__/index.spec.tsx | 1119 | // Step 1: Verify |
| LOW | …-panel/subscription-list/edit/__tests__/index.spec.tsx | 1125 | // Step 2: Update |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 1916 | // Step 1: Uploading |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 1919 | // Step 2: Upload complete, transition to readyToInstall |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 1927 | // Step 3: Start installation |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 1931 | // Step 4: Installation complete |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 1993 | // Step 1: Uploading |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 1997 | // Step 2: Upload complete, transition to readyToInstall |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 2006 | // Step 3: Start installation |
| LOW | …in/install-from-local-package/__tests__/index.spec.tsx | 2010 | // Step 4: Installation complete |
| LOW | …ets/create/website/watercrawl/__tests__/index.spec.tsx | 1627 | // Step 1: Enter URL |
| LOW | …ets/create/website/watercrawl/__tests__/index.spec.tsx | 1631 | // Step 2: Run crawl |
| LOW | …ets/create/website/watercrawl/__tests__/index.spec.tsx | 1634 | // Step 3: Wait for completion |
| LOW | …ets/create/website/watercrawl/__tests__/index.spec.tsx | 1639 | // Step 4: Click preview |
| LOW | …pp/components/datasets/create/__tests__/index.spec.tsx | 966 | // Step 1: Set up data |
| LOW | …pp/components/datasets/create/__tests__/index.spec.tsx | 970 | // Step 2: Set caches |
| LOW | …components/variable/__tests__/output-var-list.spec.tsx | 86 | // Step 1: rename var_2 -> var_1 (creates duplicate) |
| LOW | …components/variable/__tests__/output-var-list.spec.tsx | 96 | // Step 2: rename second var_1 -> var_2 (restores unique names) |
| LOW | web/app/components/base/mermaid/index.tsx | 262 | // Step 1: Clean and prepare Mermaid code using the extracted prepareMermaidCode function |
| LOW | web/app/components/base/mermaid/index.tsx | 269 | // Step 2: Render chart |
| LOW | web/app/components/base/mermaid/index.tsx | 272 | // Step 3: Apply theme to SVG using the extracted processSvgForTheme function |
| LOW | web/app/components/base/mermaid/index.tsx | 280 | // Step 4: Clean up SVG code |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 386 | // Step 1: Set credential |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 389 | // Step 2: Set file list |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 393 | // Step 3: Select current file for preview |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 406 | // Step 1: Set credential |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 409 | // Step 2: Init crawl |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 412 | // Step 3: Crawl completes with results |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 421 | // Step 4: Set website pages from results |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 424 | // Step 5: Set preview |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 439 | // Step 1: Set credential |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 442 | // Step 2: Set bucket |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 446 | // Step 3: Navigate into folders |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 456 | // Step 4: Navigate deeper |
| LOW | …b/__tests__/datasets/pipeline-datasource-flow.test.tsx | 460 | // Step 5: Select files |
| LOW | web/__tests__/explore/sidebar-lifecycle-flow.test.tsx | 100 | // Step 1: Start with an unpinned app and pin it |
| LOW | web/__tests__/explore/sidebar-lifecycle-flow.test.tsx | 113 | // Step 2: Simulate refetch returning pinned state, then unpin |
| LOW | web/__tests__/explore/sidebar-lifecycle-flow.test.tsx | 138 | // Step 1: Open operation menu and click delete |
| LOW | web/__tests__/explore/sidebar-lifecycle-flow.test.tsx | 142 | // Step 2: Confirm dialog appears |
| LOW | web/__tests__/explore/sidebar-lifecycle-flow.test.tsx | 145 | // Step 3: Confirm deletion |
| LOW | web/__tests__/explore/sidebar-lifecycle-flow.test.tsx | 148 | // Step 4: Uninstall API called and success toast shown |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 233 | // Step 1: User clicks "Add to Workspace" on an app card |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 245 | // Step 2: Click add to workspace button - opens create modal |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 248 | // Step 3: Confirm creation in modal |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 251 | // Step 4: API fetches app detail |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 256 | // Step 5: DSL import triggers pending confirmation |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 259 | // Step 6: DSL confirm modal appears and user confirms |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 260 | // Step 6: DSL confirm modal appears and user confirms |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 264 | // Step 7: Flow completes successfully |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 274 | // Step 1: Loading state |
| LOW | web/__tests__/explore/explore-app-list-flow.test.tsx | 281 | // Step 2: Data loads |
| LOW | api/core/tools/mcp_tool/tool.py | 258 | # Step 1: Load provider entity and credentials in a short-lived session |
| LOW | api/core/tools/mcp_tool/tool.py | 274 | # Step 2: Session is now closed, perform network operations without holding database connection |
| LOW | …tests/unit_tests/core/datasource/test_website_crawl.py | 921 | # Step 1: Start crawl |
| 46 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | docker/dify-env-sync.sh | 231 | # Numeric check - using arithmetic evaluation for robust comparison |
| MEDIUM | web/app/components/goto-anything/context.tsx | 46 | // Update context based on current pathname using more robust route matching |
| MEDIUM | …/chat-with-history/header/__tests__/operation.spec.tsx | 94 | // Find trigger container by text and traverse to interactive container using a more robust selector |
| MEDIUM | web/app/components/base/mermaid/utils.ts | 181 | // parser is more robust. |
| MEDIUM | web/public/vs/language/css/cssWorker.js | 73 | This is used to produce an effect that is known as tate-ch\u016B-yoko (\u7E26\u4E2D\u6A2A) in Japanese, or as \u76F4\u66 |
| MEDIUM | web/public/vs/language/html/htmlWorker.js | 259 | * To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/do |
| MEDIUM | web/public/vs/language/html/htmlWorker.js | 270 | Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{na |
| MEDIUM | web/public/vs/language/html/htmlWorker.js | 270 | Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{na |
| MEDIUM | web/public/vs/language/html/htmlWorker.js | 288 | **Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, |
| MEDIUM | api/constants/recommended_apps.json | 426 | "export_data": "app:\n icon: \"\\U0001F911\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: Inv |
| MEDIUM | api/constants/recommended_apps.json | 426 | "export_data": "app:\n icon: \"\\U0001F911\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: Inv |
| MEDIUM | api/constants/recommended_apps.json | 444 | "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: chat\n name: Python bu |
| MEDIUM | api/constants/recommended_apps.json | 484 | "export_data": "app:\n icon: \"\\U0001F522\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: You |
| MEDIUM | api/constants/recommended_apps.json | 500 | "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: workflow\n name: SEO B |
| MEDIUM | api/constants/recommended_apps.json | 516 | "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: workflow\n name: 'Sent |
| MEDIUM | api/constants/pipeline_templates.json | 1356 | "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_u |
| MEDIUM | api/constants/pipeline_templates.json | 3132 | "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_u |
| MEDIUM | api/constants/pipeline_templates.json | 3132 | "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.py | 888 | """Tests for comprehensive filename validation logic. |
| LOW | …s/core/datasource/entities/test_datasource_entities.py | 72 | # For STRING, it should just return the value as is (or cast to str) |
| MEDIUM | api/tests/unit_tests/core/plugin/test_plugin_manager.py | 953 | # Arrange & Act: Create resource requirements with comprehensive model permissions |
| LOW | …sts/unit_tests/core/mcp/session/test_client_session.py | 576 | # Should just pass (case _:) |
| MEDIUM | …/tests/unit_tests/core/workflow/test_workflow_entry.py | 481 | # Define comprehensive variable mapping |
| MEDIUM | …i/tests/unit_tests/core/workflow/test_variable_pool.py | 174 | # Create comprehensive system variables |
| MEDIUM | …i/tests/unit_tests/core/workflow/test_variable_pool.py | 253 | # Create comprehensive user inputs |
| MEDIUM | …i/tests/unit_tests/core/workflow/test_variable_pool.py | 325 | # Create a comprehensive VariablePool with all data types |
| MEDIUM | …i/tests/unit_tests/core/workflow/test_variable_pool.py | 344 | # Create a comprehensive VariablePool with all data types |
| MEDIUM | …ts/core/external_data_tool/test_external_data_fetch.py | 30 | # This approach is robust regardless of thread scheduling order |
| MEDIUM | …nit_tests/commands/test_legacy_model_type_migration.py | 889 | except BaseException as exc: # pragma: no cover - test harness |
| MEDIUM | …nit_tests/commands/test_legacy_model_type_migration.py | 976 | except BaseException as exc: # pragma: no cover - test harness |
| MEDIUM | api/tests/unit_tests/services/controller_api.py | 905 | # When writing API tests, consider the following best practices: |
| MEDIUM | …s/unit_tests/services/test_external_dataset_service.py | 143 | """Test get_external_knowledge_apis operations - comprehensive coverage.""" |
| MEDIUM | …s/unit_tests/services/test_external_dataset_service.py | 1145 | """Test process_external_api operations - comprehensive HTTP method coverage.""" |
| MEDIUM | …s/unit_tests/services/test_external_dataset_service.py | 1291 | """Test assembling_headers operations - comprehensive authorization coverage.""" |
| MEDIUM | …services/rag_pipeline/test_rag_pipeline_dsl_service.py | 546 | # --- export_rag_pipeline_dsl comprehensive --- |
| MEDIUM | …ation_tests/tasks/test_create_segment_to_index_task.py | 1075 | # Arrange: Create comprehensive test scenario |
| MEDIUM | …ation_tests/tasks/test_create_segment_to_index_task.py | 1093 | # Assert: Verify comprehensive success |
| MEDIUM | api/models/workflow.py | 1640 | # `WorkflowEntry.handle_special_values`, making a comprehensive migration challenging. |
| LOW | api/libs/external_api.py | 24 | # If Werkzeug already prepared a Response, just use it. |
| LOW | api/services/workflow_draft_variable_service.py | 416 | # For consistency, we should simply return when processing VARIABLE_ASSIGNER nodes. |
| LOW | api/services/variable_truncator.py | 474 | # without any truncation, so just return it as-is |
| MEDIUM | api/services/workflow_event_snapshot_service.py | 98 | # ensure that we can utilize the index. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | web/service/use-log.ts | 22 | queryFn: () => consoleClient.apps.byAppId.annotations.count.get({ |
| CRITICAL | …tests/unit_tests/langfuse_trace/test_langfuse_trace.py | 629 | trace_instance.langfuse_client.api.ingestion.batch.assert_called_once() |
| CRITICAL | …tests/unit_tests/langfuse_trace/test_langfuse_trace.py | 596 | trace_instance.langfuse_client.api.ingestion.batch.assert_called_once() |
| CRITICAL | …tests/unit_tests/langfuse_trace/test_langfuse_trace.py | 609 | trace_instance.langfuse_client.api.ingestion.batch.assert_called_once() |
| CRITICAL | …/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py | 183 | vector._client.get_collection.return_value.delete_data.assert_called_once_with(["id-1"]) |
| CRITICAL | api/tests/unit_tests/tasks/test_mail_send_task.py | 620 | mock_client_instance.client.mail.send.post.assert_called_once() |
| CRITICAL | …sts/unit_tests/core/mcp/client/test_streamable_http.py | 1282 | assert "terminated" in item.message.root.error.message.lower() |
| CRITICAL | api/tests/unit_tests/libs/test_sendgrid_client.py | 25 | mock_client.client.mail.send.post.assert_called_once() |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …tta/tests/integration_tests/test_docker_integration.py | 151 | "1. Run: cd docker && docker-compose -f docker-compose.yaml -f docker-compose.clickzetta.yaml up -d" |
| HIGH | api/tests/unit_tests/core/plugin/test_plugin_runtime.py | 679 | f'data: {{"code": -500, "message": {json.dumps(error_obj)}, "data": null}}', |
| HIGH | api/tests/unit_tests/core/plugin/test_plugin_runtime.py | 1127 | f'data: {{"code": -500, "message": {json.dumps(error_obj)}, "data": null}}', |
| HIGH | …s/unit_tests/core/plugin/impl/test_base_client_impl.py | 133 | client, "_stream_request", return_value=iter(['{"code":-500,"message":"not-json","data":null}']) |
| HIGH | …s/unit_tests/core/plugin/impl/test_base_client_impl.py | 142 | 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.py | 149 | mocker.patch.object(client, "_stream_request", return_value=iter(['{"code":0,"message":"","data":null}'])) |
| HIGH | api/tests/unit_tests/core/mcp/test_types.py | 154 | request_json = '{"jsonrpc": "2.0", "id": 1, "method": "test", "params": null}' |
| HIGH | api/tests/unit_tests/core/mcp/client/test_sse.py | 24 | json_message = '{"jsonrpc": "2.0", "id": "123", "method": "ping", "params": null}' |
| HIGH | api/tests/unit_tests/core/mcp/client/test_sse.py | 39 | json_message = '{"jsonrpc": "2.0", "method": "ping", "params": null}' |
| HIGH | api/tests/unit_tests/libs/test_oauth_clients.py | 137 | # The profile email is absent/null, so /user/emails should be called |
| HIGH | api/tests/unit_tests/services/test_billing_service.py | 347 | """When billing serializes skipped vector_space as null, get_info treats it as absent.""" |
| HIGH | …/unit_tests/services/tools/test_mcp_tools_transform.py | 312 | mock_provider_full.tools = '[{"name": "tool1", "description": null, "inputSchema": {}}]' |
| HIGH | …repositories/sqlalchemy_api_workflow_run_repository.py | 32 | from sqlalchemy import and_, delete, func, null, or_, select, tuple_ |
| HIGH | api/services/billing_service.py | 196 | # Unset proto message fields can be serialized as null; the light billing contract treats it as absent. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | sdks/php-client/README.md | 34 | $apiKey = 'your-api-key-here'; |
| HIGH | sdks/php-client/README.md | 91 | Replace 'your-api-key-here' with your actual Dify API key. |
| HIGH | api/openapi/markdown/service-swagger.md | 11 | | Description | Type: Bearer {your-api-key} | |
| HIGH | api/openapi/markdown/openapi-swagger.md | 11 | | Description | Type: Bearer {your-api-key} | |
| HIGH | api/openapi/markdown/web-swagger.md | 11 | | Description | Type: Bearer {your-api-key} | |
| HIGH | api/openapi/markdown/console-swagger.md | 11 | | Description | Type: Bearer {your-api-key} | |
| HIGH | api/libs/external_api.py | 120 | "description": "Type: Bearer {your-api-key}", |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …ents/workflow/nodes/code/__tests__/code-parser.spec.ts | 101 | print("Hello")`, |
| HIGH | cli/src/printers/format-table.ts | 48 | print(obj) { |
| HIGH | cli/src/printers/format-text.ts | 26 | print(obj) { |
| HIGH | cli/src/printers/format-name.ts | 28 | print(obj) { |
| HIGH | cli/src/printers/format-json-yaml.ts | 8 | print(obj) { |
| HIGH | cli/src/printers/format-json-yaml.ts | 14 | print(obj) { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | web/docker/entrypoint.sh | 6 | # you can use the Ubuntu terminal to convert this file to unix format |
| MEDIUM | …pp/create-app-dialog/app-card/__tests__/index.spec.tsx | 44 | description: 'A test chat application for demonstration purposes', |
| LOW | web/public/vs/language/css/cssWorker.js | 32 | `),[{language:"html",value:r}]}doPrint(e,t){for(let r of e)this.doPrintElement(r,t),r.children&&this.doPrint(r.children, |
| MEDIUM | web/public/vs/language/html/htmlWorker.js | 306 | **Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/ |
| MEDIUM | api/constants/recommended_apps.json | 468 | "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: advanced-chat\n name: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …/tests/unit_tests/clients/agent_backend/test_client.py | 120 | |
| MEDIUM | …tests/unit_tests/core/plugin/impl/test_model_client.py | 169 | |
| MEDIUM | …tests/unit_tests/core/plugin/impl/test_model_client.py | 393 | |
| MEDIUM | …nit_tests/core/workflow/test_workflow_entry_helpers.py | 895 | |
| MEDIUM | …/tests/unit_tests/core/workflow/nodes/llm/test_node.py | 1537 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ix/src/dify_trace_arize_phoenix/arize_phoenix_trace.py | 351 | def process_data(self) -> Mapping[str, Any] | None: ... |
| LOW | …/unit_tests/extensions/otel/decorators/test_handler.py | 249 | def my_function(x): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | sdks/nodejs-client/scripts/publish.sh | 7 | # Usage: |