Repository Analysis

langgenius/dify

Production-ready platform for agentic workflow development.

15.0 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of langgenius/dify, a TypeScript project with 148,740 GitHub stars. SynthScan v2.0 examined 2,290,863 lines of code across 12189 source files, recording 27812 pattern matches distributed across 27 syntactic categories. The overall adjusted score of 15.0 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

15.0
Adjusted Score
15.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
148.7K
Stars
TypeScript
Language
2.3M
Lines of Code
12.2K
Files
27.8K
Pattern Hits
2026-07-14
Scan Date
0.04
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 207HIGH 308MEDIUM 1836LOW 25461

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 27812 distinct pattern matches across 27 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers19961 hits · 18880 pts
SeverityFileLineSnippetContext
LOWdify-agent/tests/docs/test_examples.py37def test_documentation_examples(example: CodeExample, eval_example: EvalExample) -> None:CODE
LOWdify-agent/tests/docs/test_snippets.py13def test_parse_snippet_directive() -> None:CODE
LOWdify-agent/tests/docs/test_snippets.py22def test_parse_file_sections_and_inject_snippet(tmp_path: Path) -> None:CODE
LOWdify-agent/tests/local/test_packaging.py58def test_project_dependencies_split_client_and_server_requirements() -> None:CODE
LOWdify-agent/tests/local/test_packaging.py69def test_default_package_discovery_excludes_example_packages() -> None:CODE
LOWdify-agent/tests/local/test_packaging.py80def test_project_declares_console_scripts() -> None:CODE
LOWdify-agent/tests/local/test_packaging.py91def test_local_sandbox_dockerfile_installs_stub_client_and_shellctl() -> None:CODE
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py172def test_run_sanitize_pty_touches_ready_file_before_reading(tmp_path: Path) -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py194def test_removed_sanitizer_modules_are_not_importable() -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py199def test_removed_sanitizer_helpers_are_not_shellctl_exports() -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py208def test_runner_exit_matches_service_state_for_running_job(tmp_path: Path) -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py243def test_runner_exit_is_idempotent_for_terminal_job(tmp_path: Path) -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py268def test_runner_exit_uses_explicit_busy_timeout_override(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py311def test_runner_exit_does_not_clobber_newer_terminal_state(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py387def test_python_m_shellctl_runtime_runner_exit_updates_row(tmp_path: Path) -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py424def test_python_m_shellctl_runtime_runner_exit_reports_missing_job(STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py455def test_runtime_console_scripts_are_installed() -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py466def test_runtime_modules_only_import_stdlib_or_runtime_helpers() -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py496def test_python_m_shellctl_runtime_sanitize_module_stays_lightweight() -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py504def test_python_m_shellctl_runtime_runner_exit_module_stays_lightweight() -> None:STRING
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py512def test_python_m_shellctl_runtime_sanitize_sanitizes_output(tmp_path: Path) -> None:STRING
LOW…nt/tests/local/agenton/layers/test_schema_inference.py44def test_layer_infers_config_and_runtime_state_from_generics() -> None:CODE
LOW…nt/tests/local/agenton/layers/test_schema_inference.py54def test_layer_uses_empty_schema_defaults_when_omitted() -> None:CODE
LOW…nt/tests/local/agenton/layers/test_schema_inference.py62def test_invalid_declared_schema_type_is_rejected_clearly() -> None:CODE
LOW…nt/tests/local/agenton/layers/test_schema_inference.py84def test_layer_provider_uses_inferred_schema_types() -> None:CODE
LOW…fy-agent/tests/local/agenton/layers/test_layer_deps.py13def test_layer_deps_rejects_mismatched_runtime_layer_class() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py49def test_same_compositor_enters_multiple_times_with_fresh_layers_and_snapshot_resume() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py86def test_concurrent_enters_do_not_share_layer_instances() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py129def test_custom_factory_is_called_each_enter_with_typed_config() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py156def test_provider_rejects_reused_layer_instance_before_hooks_run() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py180def test_configs_are_validated_by_node_name_before_factory_call() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py200def test_all_node_configs_are_validated_before_any_factory_runs() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py221def test_existing_config_model_instances_are_revalidated_before_factory_runs() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py240def test_existing_snapshot_model_instances_are_revalidated_before_factory_runs() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py288def test_snapshot_hydrates_runtime_state_and_exit_snapshots_from_layer_self() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py291 async def create_suspend_resume_delete() -> tuple[CompositorSessionSnapshot, CompositorSessionSnapshot]:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py339def test_run_snapshot_rejects_active_layers() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py350def test_active_snapshot_input_is_rejected_before_factories_run() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py372def test_closed_snapshot_enter_is_rejected_before_hooks_run() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py591def test_resource_context_wraps_hooks_and_body_in_dependency_order() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py664def test_resource_context_wraps_resume_and_suspend_with_fresh_resource_scope() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py738def test_resource_context_exits_when_run_body_raises() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py785def test_resource_context_exits_when_run_body_is_cancelled() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py835def test_dependency_resource_contexts_exit_when_child_create_fails() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py875def test_dependency_resource_contexts_exit_when_child_suspend_fails() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py922def test_resource_context_exits_when_create_hook_raises() -> None:CODE
LOWdify-agent/tests/local/agenton/compositor/test_enter.py947def test_resource_context_exits_when_delete_hook_raises() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py52def test_direct_deps_access_uses_explicit_dependency_rename() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py70def test_direct_deps_access_uses_explicit_same_name_dependency() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py88def test_optional_missing_dependency_is_bound_to_none() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py99def test_missing_required_dependency_is_rejected_before_hooks() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py106def test_unknown_dependency_mapping_is_rejected_for_compositor_construction() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py111def test_undefined_dependency_target_is_rejected_for_compositor_construction() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py116def test_dependency_target_must_precede_dependent_layer_in_graph_order() -> None:CODE
LOW…ent/tests/local/agenton/compositor/test_direct_deps.py126def test_duplicate_layer_node_name_is_rejected() -> None:CODE
LOW…ests/local/agenton/compositor/test_builder_snapshot.py52def test_layer_provider_from_layer_type_uses_declared_schema_and_type_id() -> None:CODE
LOW…ests/local/agenton/compositor/test_builder_snapshot.py68def test_compositor_from_config_uses_providers_and_enter_configs_by_node_name() -> None:CODE
LOW…ests/local/agenton/compositor/test_builder_snapshot.py87def test_layer_node_config_has_no_runtime_state_or_layer_config() -> None:CODE
LOW…ests/local/agenton/compositor/test_builder_snapshot.py105def test_node_providers_override_type_id_providers_for_serializable_graphs() -> None:CODE
LOW…ests/local/agenton/compositor/test_builder_snapshot.py123def test_from_config_rejects_missing_duplicate_and_unknown_providers() -> None:CODE
19901 more matches not shown…
Decorative Section Separators1430 hits · 5182 pts
SeverityFileLineSnippetContext
MEDIUMdocker/docker-compose.yaml1# ==================================================================COMMENT
MEDIUMdocker/docker-compose.yaml5# ==================================================================COMMENT
MEDIUMdocker/dify-env-sync.py3# ================================================================COMMENT
MEDIUMdocker/dify-env-sync.py12# ================================================================COMMENT
MEDIUMdocker/dify-env-sync.sh3# ================================================================COMMENT
MEDIUMdocker/dify-env-sync.sh12# ================================================================COMMENT
MEDIUM…src/dify_agent/adapters/shell/enterprise/enterprise.py31# ---------------------------------------------------------------------------COMMENT
MEDIUM…src/dify_agent/adapters/shell/enterprise/enterprise.py33# ---------------------------------------------------------------------------COMMENT
MEDIUM…src/dify_agent/adapters/shell/enterprise/enterprise.py86# ---------------------------------------------------------------------------COMMENT
MEDIUM…src/dify_agent/adapters/shell/enterprise/enterprise.py88# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh4# ================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh17# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh19# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh126 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh128 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh163 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh165 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh186 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh188 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh194 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh196 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh206 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh208 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh228 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh230 # ========================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh30# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh32# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh82# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh84# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh113# ============================================================================COMMENT
MEDIUMsdks/nodejs-client/scripts/publish.sh115# ============================================================================COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts19// ── cloneTime ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts31// ── getDaysInMonth ─────────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts59// ── getHourIn12Hour ─────────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts77// ── getDateWithTimezone ─────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts103// ── isDayjsObject ───────────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts115// ── toDayjs ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts258// ── formatDateForOutput ────────────────────────────────────────────────────COMMENT
MEDIUM…ase/date-and-time-picker/utils/__tests__/dayjs.spec.ts276// ── convertTimezoneToOffsetStr ─────────────────────────────────────────────COMMENT
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx9// ─── Why each mock exists ─────────────────────────────────────────────────────COMMENT
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx25// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx107// ─── ResizeObserver capture ───────────────────────────────────────────────────COMMENT
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx120// ─── Factories ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…app/components/base/chat/chat/__tests__/index.spec.tsx144// ─── Suite ────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx11// ─── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx58// ─── Setup / teardown ─────────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx79// ─── Rendering ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx105// ─── Play / Pause toggle ──────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx179// ─── Audio events ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx230// ─── Waveform generation ──────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx336// ─── Canvas interactions ──────────────────────────────────────────────────────COMMENT
MEDIUM…ents/base/audio-gallery/__tests__/AudioPlayer.spec.tsx430// ─── Missing coverage tests ───────────────────────────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/index.spec.tsx72// ─── Typed factories (no `any` / `never`) ────────────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/index.spec.tsx115// ─── Test harness ────────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/index.spec.tsx286// ─── Tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx26// ─── Helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx50// ─── Factory helpers (typed, no `any` / `never`) ─────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx101// ─── Shared mock render-prop arguments ───────────────────────────────────────COMMENT
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx110// ═══════════════════════════════════════════════════════════════════════════════COMMENT
MEDIUM…lugins/component-picker-block/__tests__/hooks.spec.tsx112// ═══════════════════════════════════════════════════════════════════════════════COMMENT
1370 more matches not shown…
Hallucination Indicators207 hits · 2160 pts
SeverityFileLineSnippetContext
CRITICAL…nents/snippets/components/hooks/use-snippet-publish.ts33 consoleQuery.workspaces.current.customizedSnippets.bySnippetId.get.key({CODE
CRITICAL…/app/components/snippets/hooks/use-nodes-sync-draft.ts119 const response = await consoleClient.snippets.bySnippetId.workflows.draft.post({CODE
CRITICALweb/app/components/snippets/hooks/use-create-snippet.ts51 await consoleClient.snippets.bySnippetId.workflows.draft.post({CODE
CRITICALweb/app/components/plugins/hooks.ts122 consoleQuery.workspaces.current.plugin.list.latestVersions.post.queryOptions({CODE
CRITICAL…ow-app/components/workflow-header/features-trigger.tsx187 queryKey: consoleQuery.agent.byAgentId.referencingWorkflows.get.queryOptions({CODE
CRITICAL…ts/workflow-header/__tests__/features-trigger.spec.tsx579 queryKey: consoleQuery.agent.byAgentId.referencingWorkflows.get.queryOptions({CODE
CRITICAL…ts/workflow-header/__tests__/features-trigger.spec.tsx622 queryKey: consoleQuery.agent.byAgentId.referencingWorkflows.get.queryOptions({CODE
CRITICAL…omponents/workflow/nodes/agent-v2/agent-soul-config.ts89 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.put.mutationOptions(),CODE
CRITICAL…omponents/workflow/nodes/agent-v2/agent-soul-config.ts125 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.get.queryKey({CODE
CRITICALweb/app/components/workflow/nodes/agent-v2/panel.tsx154 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.copyFromRoster.post.mutationOptions(),CODE
CRITICALweb/app/components/workflow/nodes/agent-v2/hooks.ts41 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.get.queryOptions({CODE
CRITICALweb/app/components/workflow/nodes/agent-v2/hooks.ts61 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.put.mutationOptions(),CODE
CRITICALweb/app/components/workflow/nodes/agent-v2/hooks.ts103 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.get.queryKey({CODE
CRITICAL…gent-v2/components/agent-orchestrate-panel-content.tsx90 consoleQuery.agent.byAgentId.composer.get.queryOptions({CODE
CRITICAL…gent-v2/components/agent-orchestrate-panel-content.tsx338 consoleQuery.agent.byAgentId.debugConversation.refresh.post.mutationOptions({CODE
CRITICAL…gent-v2/components/agent-orchestrate-panel-content.tsx360 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.get.queryKey({CODE
CRITICAL…gent-v2/components/agent-orchestrate-panel-content.tsx431 const buildDraftQueryOptions = consoleQuery.agent.byAgentId.buildDraft.get.queryOptions({CODE
CRITICAL…gent-v2/components/agent-orchestrate-panel-content.tsx439 consoleQuery.agent.byAgentId.buildDraft.put.mutationOptions(),CODE
CRITICAL…gent-v2/components/agent-orchestrate-panel-content.tsx442 consoleQuery.agent.byAgentId.buildDraft.delete.mutationOptions(),CODE
CRITICAL…t-v2/components/save-inline-agent-to-roster-dialog.tsx61 consoleQuery.apps.byAppId.workflows.draft.nodes.byNodeId.agentComposer.saveToRoster.post.mutationOptions(),CODE
CRITICAL…app/components/workflow/nodes/knowledge-base/panel.tsx45 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryOptions({CODE
CRITICAL…/app/components/workflow/nodes/knowledge-base/node.tsx76 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryOptions({CODE
CRITICALweb/app/components/workflow/comment/mention-input.tsx169 const response = await consoleClient.apps.byAppId.workflow.comments.mentionUsers.get({CODE
CRITICAL…workflow/block-selector/snippets/use-insert-snippet.ts288 consoleQuery.snippets.bySnippetId.workflows.publish.get.queryOptions({CODE
CRITICALweb/app/components/workflow/hooks/use-checklist.ts176 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryOptions({CODE
CRITICALweb/app/components/workflow/hooks/use-checklist.ts529 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryOptions({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts92 const detail = await consoleClient.apps.byAppId.workflow.comments.byCommentId.get({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts111 const response = await consoleClient.apps.byAppId.workflow.comments.get({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts155 const newComment = await consoleClient.apps.byAppId.workflow.comments.post({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts297 const detail = await consoleClient.apps.byAppId.workflow.comments.byCommentId.get({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts334 await consoleClient.apps.byAppId.workflow.comments.byCommentId.resolve.post({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts357 await consoleClient.apps.byAppId.workflow.comments.byCommentId.delete({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts436 await consoleClient.apps.byAppId.workflow.comments.byCommentId.put({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts481 await consoleClient.apps.byAppId.workflow.comments.byCommentId.put({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts510 await consoleClient.apps.byAppId.workflow.comments.byCommentId.replies.post({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts541 await consoleClient.apps.byAppId.workflow.comments.byCommentId.replies.byReplyId.put({CODE
CRITICAL…/app/components/workflow/hooks/use-workflow-comment.ts565 await consoleClient.apps.byAppId.workflow.comments.byCommentId.replies.byReplyId.delete({CODE
CRITICAL…app/components/apps/hooks/use-workflow-online-users.ts35 consoleQuery.apps.workflows.onlineUsers.post.queryOptions({CODE
CRITICAL…ts/header/account-setting/model-provider-page/hooks.ts282 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…nt-setting/model-provider-page/__tests__/hooks.spec.ts1050 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…nt-setting/model-provider-page/__tests__/hooks.spec.ts1089 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…nt-setting/model-provider-page/__tests__/hooks.spec.ts1125 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…nt-setting/model-provider-page/__tests__/hooks.spec.ts1153 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…ting/model-provider-page/provider-added-card/index.tsx66 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryOptions({CODE
CRITICAL…-provider-page/provider-added-card/model-list-item.tsx49 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…ge/provider-added-card/use-change-provider-priority.ts16 consoleQuery.workspaces.current.modelProviders.byProvider.models.get.queryKey({CODE
CRITICAL…ge/provider-added-card/use-change-provider-priority.ts24 consoleQuery.workspaces.current.modelProviders.byProvider.preferredProviderType.post.mutationOptions(CODE
CRITICAL…er/account-setting/members-page/invite-modal/index.tsx66 consoleQuery.workspaces.current.members.inviteEmail.post.mutationOptions({CODE
CRITICAL…t-detail/access/components/service-api-access-card.tsx20 const apiAccessQueryOptions = consoleQuery.agent.byAgentId.apiAccess.get.queryOptions({CODE
CRITICAL…t-detail/access/components/service-api-access-card.tsx30 consoleQuery.agent.byAgentId.apiEnable.post.mutationOptions({CODE
CRITICAL…agent-detail/access/components/web-app-access-card.tsx70 consoleQuery.apps.byAppId.siteEnable.post.mutationOptions({CODE
CRITICAL…agent-detail/access/components/web-app-access-card.tsx90 consoleQuery.apps.byAppId.site.accessTokenReset.post.mutationOptions({CODE
CRITICAL…agent-detail/access/components/web-app-access-card.tsx114 const updateSiteMutation = useMutation(consoleQuery.apps.byAppId.site.post.mutationOptions())CODE
CRITICAL…agent-detail/access/components/agent-api-key-modal.tsx44 const apiKeysQueryOptions = consoleQuery.agent.byAgentId.apiKeys.get.queryOptions({CODE
CRITICAL…agent-detail/access/components/agent-api-key-modal.tsx56 consoleQuery.agent.byAgentId.apiKeys.post.mutationOptions({CODE
CRITICAL…agent-detail/access/components/agent-api-key-modal.tsx61 queryKey: consoleQuery.agent.byAgentId.apiAccess.get.queryKey({CODE
CRITICAL…agent-detail/access/components/agent-api-key-modal.tsx77 consoleQuery.agent.byAgentId.apiKeys.byApiKeyId.delete.mutationOptions({CODE
CRITICAL…agent-detail/access/components/agent-api-key-modal.tsx82 queryKey: consoleQuery.agent.byAgentId.apiAccess.get.queryKey({CODE
CRITICAL…detail/access/components/workflow-references-table.tsx30 consoleQuery.agent.byAgentId.referencingWorkflows.get.queryOptions({CODE
CRITICAL…nt-detail/configure/use-agent-configure-build-draft.ts163 const buildDraftQueryOptions = consoleQuery.agent.byAgentId.buildDraft.get.queryOptions({CODE
147 more matches not shown…
Unused Imports1732 hits · 1507 pts
SeverityFileLineSnippetContext
LOWdify-agent/tests/docs/test_examples.py1CODE
LOWdify-agent/tests/docs/test_snippets.py1CODE
LOWdify-agent/tests/local/test_packaging.py1CODE
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py1CODE
LOW…ent/tests/local/dify_agent/test_client_safe_exports.py1CODE
LOW…agent/tests/local/dify_agent/test_import_boundaries.py1CODE
LOW…ent/tests/local/dify_agent/layers/config/test_layer.py3CODE
LOW…gent/tests/local/dify_agent/layers/shell/test_layer.py1CODE
LOW…gent/tests/local/dify_agent/layers/drive/test_layer.py3CODE
LOW…dify_agent/agent_stub/server/test_agent_stub_config.py1CODE
LOW…ests/local/dify_agent/agent_stub/server/test_router.py1CODE
LOW…s/local/dify_agent/agent_stub/server/test_grpc_bind.py1CODE
LOW…ocal/dify_agent/agent_stub/server/test_grpc_service.py1CODE
LOW…/dify_agent/agent_stub/server/test_agent_stub_files.py1CODE
LOW…al/dify_agent/agent_stub/server/test_agent_stub_app.py1CODE
LOW…/dify_agent/agent_stub/server/test_agent_stub_drive.py1CODE
LOW…dify_agent/agent_stub/server/test_agent_stub_routes.py1CODE
LOW…t/tests/local/dify_agent/agent_stub/server/test_cli.py1CODE
LOW…dify_agent/agent_stub/server/tokens/test_agent_stub.py1CODE
LOW…_agent/agent_stub/protocol/test_agent_stub_protocol.py1CODE
LOW…ify_agent/agent_stub/protocol/test_grpc_conversions.py1CODE
LOW…nt/tests/local/dify_agent/agent_stub/cli/test_drive.py1CODE
LOW…nt/tests/local/dify_agent/agent_stub/cli/test_files.py1CODE
LOW…t/tests/local/dify_agent/agent_stub/cli/test_config.py1CODE
LOW…ent/tests/local/dify_agent/agent_stub/cli/test_main.py1CODE
LOW…dify_agent/agent_stub/client/test_agent_stub_client.py1CODE
LOW…ent/agent_stub/client/test_agent_stub_config_client.py1CODE
LOW…nt/tests/local/dify_agent/server/test_observability.py1CODE
LOWdify-agent/tests/local/dify_agent/server/test_app.py1CODE
LOW…nt/tests/local/dify_agent/server/test_sandbox_files.py1CODE
LOW…y-agent/tests/local/dify_agent/server/test_settings.py1CODE
LOW…ests/local/dify_agent/protocol/test_sandbox_locator.py1CODE
LOW…t/tests/local/dify_agent/adapters/shell/test_config.py3CODE
LOW…tests/local/dify_agent/adapters/shell/test_shellctl.py3CODE
LOWdify-agent/tests/local/dify_agent/client/test_client.py1CODE
LOW…agent/tests/local/examples/test_dify_agent_examples.py1CODE
LOW…fy-agent/tests/local/shellctl/test_shellctl_service.py1CODE
LOWdify-agent/tests/local/shellctl/test_shellctl_cli.py1CODE
LOWdify-agent/docs/.hooks/snippets.py1CODE
LOWdify-agent/docs/.hooks/main.py1CODE
LOW…/examples/agenton/agenton_examples/session_snapshot.py3CODE
LOWdify-agent/examples/agenton/agenton_examples/basics.py3CODE
LOW…xamples/agenton/agenton_examples/pydantic_ai_bridge.py10CODE
LOW…fy-agent/examples/agenton/agenton_examples/__main__.py3CODE
LOW…ify_agent/dify_agent_examples/run_pydantic_ai_agent.py17CODE
LOW…nt/examples/dify_agent/dify_agent_examples/__main__.py3CODE
LOWdify-agent/src/shellctl_runtime/paths.py3CODE
LOWdify-agent/src/shellctl_runtime/runner_exit.py10CODE
LOWdify-agent/src/shellctl_runtime/sanitize.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py8CODE
LOWdify-agent/src/agenton/layers/__init__.py19CODE
LOWdify-agent/src/agenton/layers/__init__.py19CODE
1672 more matches not shown…
Excessive Try-Catch Wrapping1239 hits · 1267 pts
SeverityFileLineSnippetContext
MEDIUM…fy-agent/examples/agenton/agenton_examples/__main__.py36 print(f'Error: destination path "{destination}" already exists', file=sys.stderr)CODE
MEDIUM…nt/examples/dify_agent/dify_agent_examples/__main__.py37 print(f'Error: destination path "{destination}" already exists', file=sys.stderr)CODE
LOW…agent/src/dify_agent/layers/dify_plugin/tool_client.py124 except Exception:CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py421 except Exception as exc:CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py447 except Exception as exc:CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py473 except Exception as exc:CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py499 except Exception:CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py517 except Exception as exc:CODE
LOWdify-agent/src/dify_agent/runtime/runner.py198 except Exception as exc:CODE
LOWdify-agent/src/dify_agent/runtime/run_scheduler.py137 except Exception:CODE
LOWdify-agent/src/dify_agent/runtime/run_scheduler.py157 except Exception:CODE
LOW…src/dify_agent/adapters/shell/enterprise/enterprise.py114 except Exception as exc:CODE
LOW…src/dify_agent/adapters/shell/enterprise/enterprise.py118 except Exception as exc:CODE
LOW…src/dify_agent/adapters/shell/enterprise/enterprise.py124 except Exception as exc:CODE
LOW…src/dify_agent/adapters/shell/enterprise/enterprise.py134 except Exception as exc:CODE
MEDIUM…src/dify_agent/adapters/shell/enterprise/enterprise.py111def suspend(self) -> None:CODE
MEDIUM…src/dify_agent/adapters/shell/enterprise/enterprise.py121def delete(self) -> None:CODE
LOWdify-agent/src/shellctl/server/service.py275 except Exception as exc:CODE
LOWscripts/stress-test/run_locust_stress_test.sh228except Exception as e:CODE
LOWscripts/stress-test/setup_all.py90 except Exception as e:CODE
LOWscripts/stress-test/setup_all.py109 except Exception as e:CODE
LOWscripts/stress-test/cleanup.py83 except Exception as e:CODE
LOWscripts/stress-test/sse_benchmark.py508 except Exception as e:CODE
LOWscripts/stress-test/sse_benchmark.py533 except Exception as e:CODE
LOWscripts/stress-test/setup/install_openai_plugin.py166 except Exception as e:CODE
LOWscripts/stress-test/setup/login_admin.py105 except Exception as e:CODE
LOWscripts/stress-test/setup/import_workflow_app.py131 except Exception as e:CODE
LOWscripts/stress-test/setup/configure_openai_plugin.py97 except Exception as e:CODE
LOWscripts/stress-test/setup/create_api_key.py114 except Exception as e:CODE
LOWscripts/stress-test/setup/publish_workflow.py105 except Exception as e:CODE
LOWscripts/stress-test/setup/setup_admin.py75 except Exception as e:CODE
LOWscripts/stress-test/setup/run_workflow.py150 except Exception as e:CODE
LOWapi/app_factory.py92 except Exception:CODE
LOWapi/app_factory.py115 except Exception:CODE
MEDIUMapi/app_factory.py101def add_trace_headers(response):CODE
LOWapi/clients/agent_backend/client.py83 except Exception as exc:CODE
LOWapi/clients/agent_backend/client.py90 except Exception as exc:CODE
LOWapi/clients/agent_backend/client.py97 except Exception as exc:CODE
LOWapi/clients/agent_backend/client.py104 except Exception as exc:CODE
LOWapi/schedule/update_api_token_last_used_task.py104 except Exception:CODE
LOWapi/schedule/mail_clean_document_notify_task.py100 except Exception:CODE
LOWapi/schedule/update_tidb_serverless_status_task.py32 except Exception as e:CODE
LOWapi/schedule/update_tidb_serverless_status_task.py53 except Exception as e:CODE
LOWapi/schedule/clean_workflow_runlogs_precise.py98 except Exception:CODE
LOWapi/schedule/clean_workflow_runlogs_precise.py166 except Exception:CODE
LOWapi/schedule/queue_monitor_task.py75 except Exception:CODE
LOWapi/schedule/queue_monitor_task.py78 except Exception:CODE
LOWapi/schedule/check_upgradable_plugin_task.py59 except Exception as e:CODE
LOWapi/schedule/clean_workflow_runs_task.py68 except Exception as e:CODE
LOWapi/schedule/create_tidb_serverless_task.py33 except Exception as e:CODE
LOWapi/schedule/create_tidb_serverless_task.py66 except Exception as e:CODE
MEDIUMapi/schedule/create_tidb_serverless_task.py41def create_clusters(batch_size):CODE
LOWapi/schedule/clean_unused_datasets_task.py151 except Exception as e:CODE
LOWapi/schedule/clean_messages.py69 except Exception as e:CODE
LOWapi/tasks/regenerate_summary_index_task.py157 except Exception as e:CODE
LOWapi/tasks/regenerate_summary_index_task.py169 except Exception as e:CODE
LOWapi/tasks/regenerate_summary_index_task.py266 except Exception as e:CODE
LOWapi/tasks/regenerate_summary_index_task.py282 except Exception as e:CODE
LOWapi/tasks/regenerate_summary_index_task.py313 except Exception:CODE
LOWapi/tasks/mail_register_task.py46 except Exception:CODE
1179 more matches not shown…
Cross-File Repetition191 hits · 955 pts
SeverityFileLineSnippetContext
HIGHapi/tasks/workflow_draft_var_tasks.py0celery tasks for asynchronous workflow node execution storage operations. these tasks provide asynchronous storage capabSTRING
HIGHapi/tasks/workflow_execution_tasks.py0celery tasks for asynchronous workflow node execution storage operations. these tasks provide asynchronous storage capabSTRING
HIGHapi/tasks/workflow_node_execution_tasks.py0celery tasks for asynchronous workflow node execution storage operations. these tasks provide asynchronous storage capabSTRING
HIGHapi/core/provider_manager.py0extract secret input form variables. :param credential_form_schemas: :return:STRING
HIGHapi/core/entities/provider_configuration.py0extract secret input form variables. :param credential_form_schemas: :return:STRING
HIGHapi/services/datasource_provider_service.py0extract secret input form variables. :param credential_form_schemas: :return:STRING
HIGHapi/core/datasource/entities/datasource_entities.py0get value of given mode. :param value: mode value :return: modeSTRING
HIGHapi/core/tools/entities/tool_entities.py0get value of given mode. :param value: mode value :return: modeSTRING
HIGHapi/core/app/app_config/entities.py0get value of given mode. :param value: mode value :return: modeSTRING
HIGHapi/core/entities/provider_entities.py0get value of given mode. :param value: mode value :return: modeSTRING
HIGHapi/models/model.py0get value of given mode. :param value: mode value :return: modeSTRING
HIGHapi/models/workflow.py0get value of given mode. :param value: mode value :return: modeSTRING
HIGHapi/core/tools/workflow_as_tool/tool.py0fork a new tool with metadata :return: the new toolSTRING
HIGHapi/core/tools/__base/tool.py0fork a new tool with metadata :return: the new toolSTRING
HIGHapi/core/tools/custom_tool/tool.py0fork a new tool with metadata :return: the new toolSTRING
HIGHapi/core/tools/builtin_tool/tool.py0fork a new tool with metadata :return: the new toolSTRING
HIGHapi/core/tools/plugin_tool/provider.py0returns the type of the provider :return: type of the providerSTRING
HIGHapi/core/tools/__base/tool_provider.py0returns the type of the provider :return: type of the providerSTRING
HIGHapi/core/tools/mcp_tool/provider.py0returns the type of the provider :return: type of the providerSTRING
HIGHapi/core/tools/builtin_tool/provider.py0returns the type of the provider :return: type of the providerSTRING
HIGH…/task_pipeline/easy_ui_based_generate_task_pipeline.py0advancedchatappgeneratetaskpipeline is a class that generate stream output and state management for application.STRING
HIGHapi/core/app/apps/workflow/generate_task_pipeline.py0advancedchatappgeneratetaskpipeline is a class that generate stream output and state management for application.STRING
HIGH…/core/app/apps/advanced_chat/generate_task_pipeline.py0advancedchatappgeneratetaskpipeline is a class that generate stream output and state management for application.STRING
HIGH…e/app/app_config/features/opening_statement/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…core/app/app_config/features/speech_to_text/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…g/features/suggested_questions_after_answer/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…core/app/app_config/features/more_like_this/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…core/app/app_config/features/text_to_speech/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…p/app_config/easy_ui_based_app/model_config/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…re/app/app_config/easy_ui_based_app/dataset/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…core/app/app_config/easy_ui_based_app/agent/manager.py0convert model config to model config :param config: model config argsSTRING
HIGH…/app/app_config/easy_ui_based_app/variables/manager.py0convert model config to model config :param config: model config argsSTRING
HIGHapi/core/app/apps/base_app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:STRING
HIGHapi/core/app/apps/message_based_app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:STRING
HIGHapi/core/app/apps/pipeline/pipeline_queue_manager.py0publish event to queue :param event: :param pub_from: :return:STRING
HIGHapi/core/app/apps/workflow/app_queue_manager.py0publish event to queue :param event: :param pub_from: :return:STRING
HIGHapi/core/app/apps/pipeline/pipeline_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account STRING
HIGHapi/core/app/apps/workflow/app_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account STRING
HIGHapi/core/app/apps/advanced_chat/app_generator.py0generate app response. :param app_model: app :param workflow: workflow :param node_id: the node id :param user: account STRING
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:STRING
HIGHapi/core/app/apps/chat/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:STRING
HIGH…ore/app/apps/completion/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:STRING
HIGH…/core/app/apps/workflow/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:STRING
HIGH…/app/apps/advanced_chat/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:STRING
HIGH…ore/app/apps/agent_chat/generate_response_converter.py0convert blocking full response. :param blocking_response: blocking response :return:STRING
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:STRING
HIGHapi/core/app/apps/chat/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:STRING
HIGH…ore/app/apps/completion/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:STRING
HIGH…/core/app/apps/workflow/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:STRING
HIGH…/app/apps/advanced_chat/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:STRING
HIGH…ore/app/apps/agent_chat/generate_response_converter.py0convert blocking simple response. :param blocking_response: blocking response :return:STRING
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:STRING
HIGHapi/core/app/apps/chat/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:STRING
HIGH…ore/app/apps/completion/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:STRING
HIGH…/core/app/apps/workflow/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:STRING
HIGH…/app/apps/advanced_chat/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:STRING
HIGH…ore/app/apps/agent_chat/generate_response_converter.py0convert stream full response. :param stream_response: stream response :return:STRING
HIGH…/core/app/apps/pipeline/generate_response_converter.py0convert stream simple response. :param stream_response: stream response :return:STRING
HIGHapi/core/app/apps/chat/generate_response_converter.py0convert stream simple response. :param stream_response: stream response :return:STRING
HIGH…ore/app/apps/completion/generate_response_converter.py0convert stream simple response. :param stream_response: stream response :return:STRING
131 more matches not shown…
Self-Referential Comments245 hits · 746 pts
SeverityFileLineSnippetContext
MEDIUMscripts/stress-test/common/config_helper.py312# Create a default instance for convenienceCOMMENT
MEDIUMapi/celery_healthcheck.py1# This module provides a lightweight Celery instance for use in Docker health checks.COMMENT
MEDIUMapi/core/app/apps/pipeline/pipeline_runner.py119 # Create a variable pool.COMMENT
MEDIUMapi/core/app/apps/workflow/app_runner.py112 # Create a variable pool.COMMENT
MEDIUMapi/core/app/apps/advanced_chat/app_runner.py184 # Initialize conversation variablesCOMMENT
MEDIUMapi/core/app/apps/advanced_chat/app_runner.py187 # Create a variable pool.COMMENT
MEDIUMapi/core/plugin/utils/chunk_merger.py78 # Create the appropriate message type based on the response typeCOMMENT
MEDIUM…positories/sqlalchemy_workflow_execution_repository.py199 # Create a new database sessionCOMMENT
MEDIUMapi/core/mcp/auth_client.py90 # Create a temporary session only for auth retryCOMMENT
MEDIUMapi/core/rag/index_processor/index_processor_base.py192 # Create a mapping from ID to UploadFile for quick lookupCOMMENT
MEDIUMapi/core/rag/index_processor/index_processor_base.py195 # Create a Document for each occurrence (including duplicates)COMMENT
MEDIUM…index_processor/processor/paragraph_index_processor.py150 # This method is called for actual deletion scenarios (e.g., when segment is deleted).COMMENT
MEDIUM…ex_processor/processor/parent_child_index_processor.py156 # This method is called for actual deletion scenarios (e.g., when segment is deleted).COMMENT
MEDIUM…re/rag/index_processor/processor/qa_index_processor.py159 # This method is called for actual deletion scenarios (e.g., when segment is deleted).COMMENT
MEDIUMapi/core/schemas/resolver.py268 # Create a copy and remove metadata fieldsCOMMENT
MEDIUMapi/core/workflow/workflow_entry.py435 # Create a minimal graph for single node executionCOMMENT
MEDIUMapi/core/ops/ops_trace_manager.py383 # Create a new instance of the config class with the new configurationCOMMENT
MEDIUMapi/constants/recommended_apps.json468 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: advanced-chat\n name: CODE
MEDIUM…ix/src/dify_trace_arize_phoenix/arize_phoenix_trace.py233 # Create a named tracer instead of setting the global providerCOMMENT
MEDIUM…iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py121 # Define the table schemaSTRING
MEDIUM…iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py178 # Define the table schemaCOMMENT
MEDIUM…iders/vdb/vdb-relyt/src/dify_vdb_relyt/relyt_vector.py265 # Define the base queryCOMMENT
MEDIUM…/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py690 # Create a document with doc_type metadata (as produced by multimodal indexing)COMMENT
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py343 # Create the text field, enable_analyzer will be set True to support milvus automaticallyCOMMENT
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py358 # Create the primary key fieldCOMMENT
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py360 # Create the vector field, supports binary or float vectorsCOMMENT
MEDIUM…rs/vdb/vdb-milvus/src/dify_vdb_milvus/milvus_vector.py391 # Create the collectionCOMMENT
MEDIUM…unit_tests/tasks/test_workflow_node_execution_tasks.py191# # Create a mock task instance with proper retry behaviorCOMMENT
MEDIUM…unit_tests/tasks/test_workflow_node_execution_tasks.py472# # Create a mock task instance with proper retry behaviorCOMMENT
MEDIUMapi/tests/unit_tests/tasks/test_mail_send_task.py1382 # Create a large HTML body (simulating a newsletter)COMMENT
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py28 # Create a mock tool entityCOMMENT
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py37 # Create a mock API bundleCOMMENT
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py47 # Create a mock runtimeCOMMENT
MEDIUMapi/tests/unit_tests/tools/test_api_tool.py51 # Create the ApiTool instanceCOMMENT
MEDIUMapi/tests/unit_tests/core/test_file.py23 # Create a feature dict that mimics the old structure with image configCOMMENT
MEDIUMapi/tests/unit_tests/core/test_file.py30 # Create a workflow instance with the featuresCOMMENT
MEDIUM…sts/unit_tests/core/datasource/test_notion_provider.py1585 # Create a custom query filterCOMMENT
MEDIUM…tests/unit_tests/core/datasource/test_website_crawl.py1538 # Create a crawl message with resultsCOMMENT
MEDIUM…it_tests/core/datasource/entities/test_api_entities.py63 # Create a parameter that should be convertedCOMMENT
MEDIUM…tests/unit_tests/core/tools/test_tool_label_manager.py15# Create a mock class for testing abstract/base classesCOMMENT
MEDIUM…sts/core/app/features/rate_limiting/test_rate_limit.py410 # Create a generator-like object without close methodCOMMENT
MEDIUM…/core/app/apps/chat/test_base_app_runner_multimodal.py146 # Create a small test image (1x1 PNG)COMMENT
MEDIUM…/common/test_workflow_response_converter_truncation.py421 # Create a minimal WorkflowUIBasedAppConfig for testingCOMMENT
MEDIUM…/common/test_workflow_response_converter_truncation.py520 # Create a test event with large dataCOMMENT
MEDIUM…/common/test_workflow_response_converter_truncation.py561 # Create a test event with large dataCOMMENT
MEDIUM…/common/test_workflow_response_converter_truncation.py601 # Create a test event with large dataCOMMENT
MEDIUM…sts/unit_tests/core/memory/test_token_buffer_memory.py996 # Create a mock message with a SYSTEM roleCOMMENT
MEDIUMapi/tests/unit_tests/core/plugin/test_plugin_runtime.py537 # Create a proper nested JSON structure for PluginInvokeErrorCOMMENT
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py14 # Create a simple GET requestCOMMENT
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py32 # Create a GET request with query parametersCOMMENT
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py49 # Create a POST request with bodyCOMMENT
MEDIUM…tests/unit_tests/core/plugin/utils/test_http_parser.py74 # Create a request with custom headersCOMMENT
MEDIUM…ositories/test_celery_workflow_execution_repository.py27 # Create a real sessionmaker with in-memory SQLite for testingCOMMENT
MEDIUM…ositories/test_celery_workflow_execution_repository.py112 # Create a mock Account with no tenant_idCOMMENT
MEDIUMapi/tests/unit_tests/core/repositories/test_factory.py116 # Create a mock repository class that raises exception on instantiationCOMMENT
MEDIUMapi/tests/unit_tests/core/repositories/test_factory.py193 # Create a mock repository class that raises exception on instantiationCOMMENT
MEDIUM…ries/test_workflow_node_execution_conflict_handling.py27 # Create a mock user with tenant_idCOMMENT
MEDIUM…ries/test_workflow_node_execution_conflict_handling.py45 # Create a mock sessionCOMMENT
MEDIUM…ries/test_workflow_node_execution_conflict_handling.py93 # Create a mock sessionCOMMENT
MEDIUM…ries/test_workflow_node_execution_conflict_handling.py129 # Create a mock sessionCOMMENT
185 more matches not shown…
Modern Structural Boilerplate714 hits · 726 pts
SeverityFileLineSnippetContext
LOW…t/tests/local/dify_agent/runtime/test_run_scheduler.py81 async def update_status(self, run_id: str, status: RunStatus, error: str | None = None) -> None:CODE
LOWdify-agent/src/shellctl_runtime/paths.py16__all__ = ["DEFAULT_SQLITE_BUSY_TIMEOUT_MS", "db_path_from_state_dir"]CODE
LOWdify-agent/src/shellctl_runtime/runner_exit.py152__all__ = [CODE
LOWdify-agent/src/shellctl_runtime/sanitize.py179__all__ = [CODE
LOWdify-agent/src/agenton/layers/__init__.py39__all__ = [CODE
LOWdify-agent/src/agenton/layers/types.py166__all__ = [CODE
LOWdify-agent/src/agenton/compositor/run.py230 def _set_layer_exit_intent(self, name: str, intent: ExitIntent) -> None:CODE
LOWdify-agent/src/agenton/compositor/__init__.py41__all__ = [CODE
LOWdify-agent/src/dify_agent/plugin_daemon_transport.py67__all__ = [CODE
LOWdify-agent/src/dify_agent/__init__.py24__all__ = ["Client"]CODE
LOWdify-agent/src/dify_agent/layers/dify_plugin/configs.py164__all__ = [CODE
LOW…agent/src/dify_agent/layers/dify_plugin/tools_layer.py681__all__ = ["DifyPluginToolsDeps", "DifyPluginToolsLayer"]CODE
LOW…fy-agent/src/dify_agent/layers/dify_plugin/__init__.py22__all__ = [CODE
LOW…y-agent/src/dify_agent/layers/dify_plugin/llm_layer.py60__all__ = ["DifyPluginLLMDeps", "DifyPluginLLMLayer"]CODE
LOW…agent/src/dify_agent/layers/dify_plugin/tool_client.py327__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/config/configs.py82__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/config/__init__.py12__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/config/layer.py268__all__ = ["DifyConfigLayer", "DifyConfigLayerError"]CODE
LOWdify-agent/src/dify_agent/layers/shell/output_text.py55__all__ = ["normalized_output_text", "utf8_prefix", "utf8_suffix"]CODE
LOWdify-agent/src/dify_agent/layers/shell/configs.py99__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/shell/__init__.py17__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py66logger = logging.getLogger(__name__)CODE
LOWdify-agent/src/dify_agent/layers/shell/layer.py1001__all__ = [CODE
LOW…gent/src/dify_agent/layers/dify_core_tools/__init__.py10__all__ = [CODE
LOW…y-agent/src/dify_agent/layers/dify_core_tools/layer.py163__all__ = ["DifyCoreToolsDeps", "DifyCoreToolsLayer"]CODE
LOWdify-agent/src/dify_agent/layers/output/configs.py51__all__ = ["DIFY_OUTPUT_LAYER_TYPE_ID", "DifyOutputLayerConfig"]CODE
LOWdify-agent/src/dify_agent/layers/output/__init__.py10__all__ = ["DIFY_OUTPUT_LAYER_TYPE_ID", "DifyOutputLayerConfig"]CODE
LOWdify-agent/src/dify_agent/layers/output/output_layer.py313__all__ = ["DifyOutputContract", "DifyOutputLayer"]CODE
LOWdify-agent/src/dify_agent/layers/knowledge/configs.py280__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/knowledge/client.py213__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/knowledge/__init__.py23__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/knowledge/layer.py39logger = logging.getLogger(__name__)CODE
LOWdify-agent/src/dify_agent/layers/knowledge/layer.py479__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/ask_human/configs.py132__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/ask_human/__init__.py30__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/ask_human/layer.py271__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/ask_human/schema.py218__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/drive/configs.py51__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/drive/__init__.py13__all__ = [CODE
LOWdify-agent/src/dify_agent/layers/drive/layer.py268__all__ = ["DifyDriveLayer", "DifyDriveLayerError"]CODE
LOW…ent/src/dify_agent/layers/execution_context/configs.py65__all__ = [CODE
LOW…nt/src/dify_agent/layers/execution_context/__init__.py18__all__ = [CODE
LOW…agent/src/dify_agent/layers/execution_context/layer.py96__all__ = ["DifyExecutionContextLayer"]CODE
LOWdify-agent/src/dify_agent/agent_stub/_constants.py12__all__ = [CODE
LOWdify-agent/src/dify_agent/agent_stub/shell_env.py53__all__ = [CODE
LOW…nt/src/dify_agent/agent_stub/_drive_materialization.py167__all__ = [CODE
LOW…fy-agent/src/dify_agent/agent_stub/grpc/conversions.py161__all__ = [CODE
LOW…t/src/dify_agent/agent_stub/server/agent_stub_drive.py186__all__ = [CODE
LOW…gent/src/dify_agent/agent_stub/server/control_plane.py250__all__ = [CODE
LOW…agent/src/dify_agent/agent_stub/server/grpc_service.py244__all__ = ["AgentStubGRPCTransport", "create_agent_stub_grpc_service"]CODE
LOW…/src/dify_agent/agent_stub/server/agent_stub_config.py258__all__ = [CODE
LOW…t/src/dify_agent/agent_stub/server/agent_stub_files.py215__all__ = [CODE
LOWdify-agent/src/dify_agent/agent_stub/server/cli.py73__all__ = ["main"]CODE
LOWdify-agent/src/dify_agent/agent_stub/server/app.py36__all__ = ["app", "create_agent_stub_app"]CODE
LOWdify-agent/src/dify_agent/agent_stub/server/router.py38__all__ = ["create_agent_stub_router"]CODE
LOW…agent/src/dify_agent/agent_stub/server/grpc_runtime.py59__all__ = ["RunningAgentStubGRPCServer", "start_agent_stub_grpc_server"]CODE
LOW…fy-agent/src/dify_agent/agent_stub/server/grpc_bind.py64__all__ = [CODE
LOW…/src/dify_agent/agent_stub/server/tokens/agent_stub.py243__all__ = [CODE
LOW…nt/src/dify_agent/agent_stub/server/tokens/__init__.py16__all__ = [CODE
LOW…/src/dify_agent/agent_stub/server/routes/agent_stub.py178__all__ = ["create_agent_stub_http_router"]CODE
654 more matches not shown…
Deep Nesting637 hits · 550 pts
SeverityFileLineSnippetContext
LOWdocker/dify-env-sync.py293CODE
LOW…/tests/local/shellctl_runtime/test_shellctl_runtime.py466CODE
LOW…dify_agent/agent_stub/server/test_agent_stub_config.py396CODE
LOWdify-agent/docs/.hooks/snippets.py130CODE
LOW…agent/src/dify_agent/layers/dify_plugin/tools_layer.py307CODE
LOW…agent/src/dify_agent/layers/dify_plugin/tools_layer.py636CODE
LOWdify-agent/src/dify_agent/layers/output/output_layer.py214CODE
LOWdify-agent/src/dify_agent/layers/output/output_layer.py271CODE
LOWdify-agent/src/dify_agent/layers/output/output_layer.py226CODE
LOW…nt/src/dify_agent/agent_stub/_drive_materialization.py95CODE
LOW…agent/src/dify_agent/agent_stub/server/grpc_service.py180CODE
LOWdify-agent/src/dify_agent/storage/redis_run_store.py109CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py249CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py280CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py307CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py327CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py372CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py566CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py602CODE
LOWdify-agent/src/dify_agent/adapters/llm/model.py671CODE
LOWdify-agent/src/dify_agent/client/_client.py534CODE
LOWdify-agent/src/dify_agent/client/_client.py642CODE
LOWdify-agent/src/shellctl/server/service.py148CODE
LOWdify-agent/src/shellctl/server/service.py302CODE
LOWdify-agent/src/shellctl/server/service.py739CODE
LOWscripts/stress-test/sse_benchmark.py559CODE
LOWscripts/stress-test/sse_benchmark.py326CODE
LOWscripts/stress-test/sse_benchmark.py400CODE
LOWscripts/stress-test/sse_benchmark.py567CODE
LOWscripts/stress-test/setup/install_openai_plugin.py18CODE
LOWscripts/stress-test/setup/login_admin.py20CODE
LOWscripts/stress-test/setup/import_workflow_app.py18CODE
LOWscripts/stress-test/setup/configure_openai_plugin.py12CODE
LOWscripts/stress-test/setup/create_api_key.py14CODE
LOWscripts/stress-test/setup/publish_workflow.py14CODE
LOWscripts/stress-test/setup/setup_admin.py22CODE
LOWscripts/stress-test/setup/run_workflow.py14CODE
LOWapi/app_factory.py49CODE
LOWapi/app_factory.py60CODE
LOWapi/schedule/update_api_token_last_used_task.py28CODE
LOWapi/schedule/mail_clean_document_notify_task.py22CODE
LOWapi/schedule/clean_workflow_runlogs_precise.py44CODE
LOWapi/schedule/clean_workflow_runlogs_precise.py107CODE
LOWapi/schedule/queue_monitor_task.py34CODE
LOWapi/schedule/workflow_schedule_task.py18CODE
LOWapi/schedule/clean_unused_datasets_task.py27CODE
LOWapi/tasks/regenerate_summary_index_task.py22CODE
LOWapi/tasks/enable_segments_to_index_task.py22CODE
LOWapi/tasks/deal_dataset_index_update_task.py18CODE
LOWapi/tasks/remove_app_and_related_data_task.py116CODE
LOWapi/tasks/remove_app_and_related_data_task.py847CODE
LOWapi/tasks/clean_document_task.py19CODE
LOWapi/tasks/retry_document_indexing_task.py23CODE
LOWapi/tasks/duplicate_document_indexing_task.py79CODE
LOWapi/tasks/enable_segment_to_index_task.py22CODE
LOW…/tasks/process_tenant_plugin_autoupgrade_check_task.py100CODE
LOWapi/tasks/document_indexing_task.py49CODE
LOWapi/tasks/document_indexing_task.py193CODE
LOWapi/tasks/deal_dataset_vector_index_task.py20CODE
LOWapi/tasks/recover_document_indexing_task.py16CODE
577 more matches not shown…
Fake / Example Data400 hits · 393 pts
SeverityFileLineSnippetContext
LOW…ts/local/dify_agent/layers/dify_plugin/test_configs.py125 "placeholder": None,CODE
LOW…/tests/local/dify_agent/layers/ask_human/test_layer.py97 "placeholder": None,CODE
LOW…fy-agent/tests/local/dify_agent/runtime/test_runner.py581 "placeholder": None,CODE
LOWweb/context/__tests__/console-bootstrap.spec.tsx56 email: 'user@example.com',CODE
LOWweb/context/__tests__/console-bootstrap.spec.tsx328 email: 'user@example.com',CODE
LOWweb/context/__tests__/console-bootstrap.spec.tsx474 value: 'user@example.com',CODE
LOWweb/context/__tests__/console-bootstrap.spec.tsx486 expect(setUserId).toHaveBeenCalledWith('user@example.com')CODE
LOWweb/context/__tests__/console-bootstrap.spec.tsx489 email: 'user@example.com',CODE
LOWweb/app/install/installForm.spec.tsx72 target: { value: 'admin@example.com' },CODE
LOWweb/app/install/installForm.spec.tsx85 email: 'admin@example.com',CODE
LOWweb/app/install/installForm.spec.tsx97 email: 'admin@example.com',CODE
LOWweb/app/install/installForm.spec.tsx120 target: { value: 'admin@example.com' },CODE
LOWweb/app/install/installForm.spec.tsx143 target: { value: 'admin@example.com' },CODE
LOW…dataset-config/settings-modal/__tests__/index.spec.tsx237 email: 'user@example.com',CODE
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx17 { label: 'name', value: 'John Doe' },CODE
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx40 expect(screen.getByText('John Doe')).toBeInTheDocument()CODE
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx66 expect(screen.getByText('John Doe')).toBeInTheDocument()CODE
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx76 expect(screen.queryByText('John Doe')).not.toBeInTheDocument()CODE
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx87 expect(screen.queryByText('John Doe')).not.toBeInTheDocument()CODE
LOWweb/app/components/app/log/__tests__/var-panel.spec.tsx91 expect(screen.getByText('John Doe')).toBeInTheDocument()CODE
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx332 created_by_account: { id: 'acc-1', name: 'John Doe', email: 'john@example.com' },CODE
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx341 expect(screen.getByText('John Doe'))!.toBeInTheDocument()CODE
LOW…/marketplace/search-box/__tests__/tags-filter.spec.tsx136 expect(screen.getByLabelText('tags-search')).toHaveAttribute('placeholder', '')CODE
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx392 expect(screen.getByRole('textbox'))!.toHaveAttribute('placeholder', '')CODE
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx398 expect(screen.getByRole('textbox'))!.toHaveAttribute('placeholder', '')CODE
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx1032 (input) => input.getAttribute('placeholder') === 'Search tags',CODE
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx1103 expect(input)!.toHaveAttribute('placeholder', 'Search plugins')CODE
LOW…ts/plugins/plugin-detail-panel/__tests__/utils.spec.ts44 const requiredKeys = ['type', 'name', 'label', 'placeholder', 'required', 'default', 'help']CODE
LOW…plugins/install-plugin/base/__tests__/loading.spec.tsx6 default: () => <div data-testid="placeholder" />,CODE
LOW…plugins/install-plugin/base/__tests__/loading.spec.tsx27 expect(screen.getByTestId('placeholder')).toBeInTheDocument()CODE
LOW…n-page/filter-management/__tests__/search-box.spec.tsx16 expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'plugin.search')CODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx7 name: 'John Doe',CODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx19 expect(screen.getByText('John Doe')).toBeInTheDocument()CODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx29 expect(screen.getByText('John Doe')).toBeInTheDocument()CODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx41 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx48 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx55 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx84 const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx93 const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx99 const item = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx135 let container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx140 container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx153 expect(screen.getByText('John Doe')).toBeInTheDocument()CODE
LOW…ngs/permission-selector/__tests__/member-item.spec.tsx187 const container = screen.getByText('John Doe').closest('div')?.parentElement?.parentElementCODE
LOW…/settings/permission-selector/__tests__/index.spec.tsx103 name: 'John Doe',CODE
LOW…/settings/permission-selector/__tests__/index.spec.tsx283 expect(screen.getByText('John Doe'))!.toBeInTheDocument()CODE
LOW…/settings/permission-selector/__tests__/index.spec.tsx302 const johnDoe = screen.getByText('John Doe')CODE
LOW…/settings/permission-selector/__tests__/index.spec.tsx324 const johnDoe = screen.getByText('John Doe')CODE
LOW…/settings/permission-selector/__tests__/index.spec.tsx379 expect(screen.getByText('John Doe'))!.toBeInTheDocument()CODE
LOW…/settings/permission-selector/__tests__/index.spec.tsx426 expect(screen.getByText('John Doe'))!.toBeInTheDocument()CODE
LOW…ing/components/query-input/__tests__/textarea.spec.tsx41 expect(screen.getByRole('textbox')).toHaveAttribute('placeholder')CODE
LOW…p/components/datasets/__tests__/mock-dataset-access.ts47 email: 'user@example.com',CODE
LOW…card/components/__tests__/dataset-card-header.spec.tsx120 const dataset = createMockDataset({ author_name: 'John Doe' })CODE
LOW…card/components/__tests__/dataset-card-header.spec.tsx122 expect(screen.queryByText('John Doe')).not.toBeInTheDocument()CODE
LOW…nts/detail/completed/common/__tests__/summary.spec.tsx157 'placeholder',CODE
LOW…asets/create/website/base/__tests__/url-input.spec.tsx34 expect(input).toHaveAttribute('placeholder', 'https://docs.example.com')CODE
LOW…ts/main-nav/components/__tests__/support-menu.spec.tsx29 userProfile: { email: 'user@example.com' },CODE
LOW…ts/main-nav/components/__tests__/support-menu.spec.tsx100 userProfile: { email: 'user@example.com' },CODE
LOW…ts/main-nav/components/__tests__/support-menu.spec.tsx221 'user@example.com',CODE
LOW…ts/main-nav/components/__tests__/support-menu.spec.tsx249 expect(mailToSupport).toHaveBeenCalledWith('user@example.com', Plan.team, '1.0.0', '')CODE
340 more matches not shown…
Docstring Block Structure73 hits · 365 pts
SeverityFileLineSnippetContext
HIGHdify-agent/src/dify_agent/agent_stub/cli/_drive.py108Pull drive files into one local drive base via signed download URLs. Args: targets: Optional drive-key targSTRING
HIGHapi/context/flask_app_context.py57 Capture current Flask execution context. This function captures the Flask app context and contextvars from theSTRING
HIGHapi/core/tools/utils/system_encryption.py47 Encrypt parameters. Args: params: Parameters dictionary, e.g., {"client_id": "xxx", "clienSTRING
HIGHapi/core/tools/utils/system_encryption.py82 Decrypt parameters. Args: encrypted_data: Base64-encoded encrypted string ReturnsSTRING
HIGHapi/core/app/apps/workflow_app_runner.py182 Prepare graph, variable pool, and runtime state for single node execution (either single iteration or sSTRING
HIGHapi/core/plugin/utils/chunk_merger.py27 Merge streaming blob chunks into complete blob messages. This function processes a stream of plugin invoke mesSTRING
HIGHapi/core/repositories/factory.py69 Create a WorkflowExecutionRepository instance based on configuration. Args: session_factorSTRING
HIGHapi/core/repositories/factory.py105 Create a WorkflowNodeExecutionRepository instance based on configuration. Args: session_faSTRING
HIGHapi/core/mcp/auth_client.py132 Execute a function with authentication retry logic. Args: func: The function to execute STRING
HIGHapi/core/mcp/auth_client.py193 Invoke a tool on the MCP server with auth retry. Args: tool_name: Name of the tool to invoSTRING
HIGHapi/core/mcp/auth/auth_flow.py370 Parse OAuth token response supporting both JSON and form-urlencoded formats. Per RFC 6749 Section 5.1, the staSTRING
HIGHapi/core/mcp/client/sse_client.py198Wait for the endpoint URL from the status queue. Args: status_queue: Queue to read status from. STRING
HIGHapi/core/schemas/resolver.py86 Resolve all $ref references in the schema Performance optimization: quickly checks for $ref presence bSTRING
HIGHapi/core/schemas/resolver.py229 Resolve $ref references in Dify schema to actual schema content This is a convenience function that creates a STRING
HIGHapi/core/ops/utils.py71 Validate and normalize URL with proper error handling. NOTE: This function does not retain the `path` componenSTRING
HIGHapi/core/ops/utils.py108 Validate URL that may include path components Args: url: The URL to validate default_url: DefaSTRING
HIGHapi/core/ops/base_trace_instance.py33 Get service account for an app and set up its tenant. Args: app_id: The ID of the app STRING
HIGHapi/core/helper/csv_sanitizer.py24 Sanitize a value for safe CSV export. Prefixes formula-initiating characters with a single quote to prSTRING
HIGHapi/core/helper/csv_sanitizer.py63 Sanitize specified fields in a dictionary. Args: data: Dictionary containing data to sanitSTRING
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py974 Create a new workflow pause state. Creates a pause state for a workflow run, storing the current execuSTRING
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py1120 Get an existing workflow pause state. Retrieves the pause state for a specific workflow run if it exisSTRING
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py1161 Resume a paused workflow. Marks a paused workflow as resumed, clearing the pause state and retSTRING
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py1270 Clean up expired and old pause states. Removes pause states that have expired (created before expiratiSTRING
HIGHapi/repositories/factory.py30 Create a DifyAPIWorkflowNodeExecutionRepository instance based on configuration. This repository is deSTRING
HIGHapi/repositories/factory.py59 Create an APIWorkflowRunRepository instance based on configuration. This repository is designed for seSTRING
HIGHapi/repositories/api_workflow_run_repository.py103 Get paginated workflow runs with filtering. Retrieves workflow runs for a specific app and trigger souSTRING
HIGHapi/repositories/api_workflow_run_repository.py505 Create a new workflow pause state. Creates a pause state for a workflow run, storing the current execuSTRING
HIGHapi/repositories/api_workflow_run_repository.py541 Resume a paused workflow. Marks a paused workflow as resumed, set the `resumed_at` field of WorkflowPaSTRING
HIGHapi/repositories/api_workflow_run_repository.py596 Clean up expired and old pause states. Removes pause states that have expired (created before expiratiSTRING
HIGHapi/extensions/logstore/sql_escape.py18 Escape a string value for safe use in SQL queries. This function escapes single quotes by doubling them, whichSTRING
HIGHapi/extensions/logstore/sql_escape.py53 Escape an identifier (tenant_id, app_id, run_id, etc.) for safe SQL use. This function is for PG protocol modeSTRING
HIGHapi/extensions/logstore/sql_escape.py82 Escape value for LogStore query syntax (SDK mode). LogStore query syntax rules: 1. Keywords (and/or/not) aSTRING
HIGHapi/libs/schedule_utils.py55 Parse 12-hour time format to 24-hour format for cron compatibility. Args: time_str: Time string in forSTRING
HIGHapi/libs/archive_storage.py90 Upload an object to the archive storage. Args: key: Object key (path) within the bucket STRING
HIGHapi/libs/archive_storage.py123 Download an object from the archive storage. Args: key: Object key (path) within the buckeSTRING
HIGHapi/libs/archive_storage.py146 Stream an object from the archive storage. Args: key: Object key (path) within the bucket STRING
HIGHapi/libs/archive_storage.py201 Generate a pre-signed URL for downloading an object. Args: key: Object key (path) within tSTRING
HIGHapi/libs/uuid_utils.py116Extract the timestamp from a UUIDv7. UUIDv7 contains a 48-bit timestamp field representing milliseconds since tSTRING
HIGHapi/libs/custom_inputs.py7 Validate and return time duration string. Accepts formats: <number>d (days), <number>h (hours), <number>m (minSTRING
HIGHapi/libs/helper.py70 Escape special characters in a string for safe use in SQL LIKE patterns. This function escapes the special chaSTRING
HIGHapi/libs/helper.py102 Extract tenant_id from Account or EndUser object. Args: user: Account or EndUser object Returns: STRING
HIGHapi/libs/datetime_utils.py41 Parse time range strings and convert to UTC datetime objects. Handles DST ambiguity and non-existent times gracSTRING
HIGHapi/libs/module_loading.py32 Import a dotted module path and return the attribute/class designated by the last name in the path. Raise ImporSTRING
HIGHapi/configs/middleware/vdb/iris_config.py70Validate IRIS configuration values. Args: values: Configuration dictionary Returns: STRING
HIGHapi/controllers/web/files.py37Upload a file for use in web applications. Accepts file uploads for use within web applications, supporting STRING
HIGHapi/controllers/web/remote_files.py46Get information about a remote file. Retrieves basic information about a file located at a remote URL, STRING
HIGHapi/controllers/web/remote_files.py90Upload a file from a remote URL. Downloads a file from the provided remote URL and uploads it to the plSTRING
HIGHapi/controllers/mcp/mcp.py55Handle MCP requests for a specific server. Processes JSON-RPC formatted requests according to the Model ContextSTRING
HIGHapi/controllers/service_api/app/file_preview.py134 Validate that the file belongs to a message within the requesting app's context Security validations pSTRING
HIGHapi/controllers/service_api/dataset/dataset.py738 Deletes a dataset given its ID. Args: _: ignore dataset_id (UUID): The ID of tSTRING
HIGHapi/controllers/service_api/dataset/dataset.py805 Batch update document status. Args: tenant_id: tenant id dataset_id: dataset iSTRING
HIGHapi/controllers/console/datasets/datasets.py311 Get supported retrieval methods based on vector database type. Args: vector_type: Vector database typeSTRING
HIGHapi/services/async_workflow_service.py59 Universal entry point for async workflow execution - THIS METHOD WILL NOT BLOCK Creates a trigger log STRING
HIGHapi/services/async_workflow_service.py200 Re-invoke a previously failed or rate-limited trigger - THIS METHOD WILL NOT BLOCK Updates the existinSTRING
HIGHapi/services/async_workflow_service.py324 Get workflow for the app Args: app_model: App model instance workflow_id: OptiSTRING
HIGHapi/services/conversation_service.py357 Update a conversation variable's value. Args: app_model: The app model conversSTRING
HIGHapi/services/model_provider_service.py37 Get provider configuration or raise exception if not found. Args: tenant_id: Workspace ideSTRING
HIGHapi/services/summary_index_service.py54 Generate summary for a single segment. Args: segment: DocumentSegment to generate summary STRING
HIGHapi/services/summary_index_service.py651 Generate summary for a segment and vectorize it. Assumes summary record already exists (created by batcSTRING
HIGHapi/services/dataset_service.py632 Update dataset configuration and settings. Args: dataset_id: The unique identifier of the STRING
13 more matches not shown…
Over-Commented Block316 hits · 278 pts
SeverityFileLineSnippetContext
LOWdocker/dify-env-sync.py1#!/usr/bin/env python3COMMENT
LOWdocker/dify-env-sync.sh1#!/bin/bashCOMMENT
LOWdocker/ssrf_proxy/docker-entrypoint.sh1#!/bin/bashCOMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml1---COMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml21COMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml41COMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml61# server.ssl.enabled: falseCOMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml81COMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml101# pid.file: /var/run/opensearchDashboards.pidCOMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml121# Supported languages are the following: English - en , by default , Chinese - zh-CN .COMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml141# //Reserved IP addressCOMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml161# defaultUrl: ""COMMENT
LOWdocker/volumes/opensearch/opensearch_dashboards.yml181# Set the value of this setting to false to disable VisBuilderCOMMENT
LOW…fy_agent/dify_agent_examples/run_server_sync_client.py61 model=MODEL_NAME,COMMENT
LOW…fy_agent/dify_agent_examples/run_server_sync_client.py81 # DifyPluginToolConfig(COMMENT
LOW…/dify_agent/dify_agent_examples/run_server_consumer.py81 # )COMMENT
LOW…/dify_agent/dify_agent_examples/run_server_consumer.py101 # llm_description="Search query",COMMENT
LOWsdks/nodejs-client/scripts/publish.sh1#!/usr/bin/env bashCOMMENT
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx141 })COMMENT
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx161 // Empty key headers don't trigger maskingCOMMENT
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx181COMMENT
LOW…/tools/mcp/sections/__tests__/headers-section.spec.tsx201 // Whitespace-only key doesn't count as having contentCOMMENT
LOW…ools/workflow-tool/__tests__/configure-button.spec.tsx661 // AssertCOMMENT
LOW…ools/workflow-tool/__tests__/configure-button.spec.tsx681 // AssertCOMMENT
LOW…ools/workflow-tool/__tests__/configure-button.spec.tsx1141 const nameInput = screen.getByPlaceholderText('tools.createTool.nameForToolCallPlaceHolder')COMMENT
LOW…ools/workflow-tool/__tests__/configure-button.spec.tsx1161 // AssertCOMMENT
LOW…ig/settings-modal/__tests__/retrieval-section.spec.tsx161 await userEvent.click(screen.getByRole('button', { name: 'close-retrieval-change-tip' }))COMMENT
LOW…ig/settings-modal/__tests__/retrieval-section.spec.tsx181 // AssertCOMMENT
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx141 const props = {COMMENT
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx161 // AssertCOMMENT
LOW…taset-config/context-var/__tests__/var-picker.spec.tsx341 // AssertCOMMENT
LOW…on/dataset-config/context-var/__tests__/index.spec.tsx141 // Assert - Should show placeholder instead of variableCOMMENT
LOW…on/dataset-config/context-var/__tests__/index.spec.tsx161 // Assert - Should show placeholder instead of variableCOMMENT
LOW…bug/debug-with-multiple-model/__tests__/index.spec.tsx561 mode: AppModeEnum.COMPLETION,COMMENT
LOW…bug/debug-with-multiple-model/__tests__/index.spec.tsx581 // AssertCOMMENT
LOW…ebug-with-multiple-model/__tests__/debug-item.spec.tsx521 { provider: 'anthropic', model: 'not-matching', status: ModelStatusEnum.quotaExceeded },COMMENT
LOW…ebug-with-multiple-model/__tests__/debug-item.spec.tsx541 // When provider/model doesn't match, ChatItem won't renderCOMMENT
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx81COMMENT
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx101 // AssertCOMMENT
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx321 // ActCOMMENT
LOW…otation/edit-annotation-modal/__tests__/index.spec.tsx341 // Assert - Confirm dialog should not be visible initiallyCOMMENT
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx501 // Before click - no highlightCOMMENT
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx521 // Before click - no highlightCOMMENT
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx621 // Replay button should not be present for webhook triggersCOMMENT
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx641 // Replay button should not be present for webhook triggersCOMMENT
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx821 // Should render without trigger columnCOMMENT
LOW…pp/components/app/workflow-log/__tests__/list.spec.tsx841 // Should render without trigger columnCOMMENT
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx581 <MarketplaceTrigger {...defaultProps} selectedTagsLength={1} tags={['agent']} />,COMMENT
LOW…lugins/marketplace/search-box/__tests__/index.spec.tsx601 // Clear button should not be presentCOMMENT
LOW…mponents/plugins/plugin-item/__tests__/action.spec.tsx501 fireEvent.click(screen.getByTestId('close-plugin-info'))COMMENT
LOW…mponents/plugins/plugin-item/__tests__/action.spec.tsx521 // AssertCOMMENT
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx401 // Assert - no voice items should be renderedCOMMENT
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx421 // Assert - no voice items should be renderedCOMMENT
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx441 language: 'en-US',COMMENT
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx461 // AssertCOMMENT
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx661COMMENT
LOW…nel/model-selector/__tests__/tts-params-panel.spec.tsx681 // AssertCOMMENT
LOW…anel/subscription-list/create/__tests__/index.spec.tsx341 // ActCOMMENT
LOW…anel/subscription-list/create/__tests__/index.spec.tsx361 // AssertCOMMENT
LOW…anel/subscription-list/create/__tests__/index.spec.tsx861 // Assert - modal should not openCOMMENT
256 more matches not shown…
Structural Annotation Overuse136 hits · 264 pts
SeverityFileLineSnippetContext
LOWdocker/docker-compose.yaml2# WARNING: This file is auto-generated by generate_docker_composeCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh127 # Step 1: Environment CheckCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh164 # Step 2: Read Package InfoCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh187 # Step 3: Install DependenciesCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh195 # Step 4: Run TestsCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh207 # Step 5: BuildCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh229 # Step 6: PublishCOMMENT
LOW…-panel/subscription-list/edit/__tests__/index.spec.tsx1271 // Step 1: VerifyCOMMENT
LOW…-panel/subscription-list/edit/__tests__/index.spec.tsx1277 // Step 2: UpdateCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1929 // Step 1: UploadingCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1932 // Step 2: Upload complete, transition to readyToInstallCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1940 // Step 3: Start installationCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1944 // Step 4: Installation completeCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2006 // Step 1: UploadingCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2010 // Step 2: Upload complete, transition to readyToInstallCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2019 // Step 3: Start installationCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2023 // Step 4: Installation completeCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1696 // Step 1: Enter URLCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1700 // Step 2: Run crawlCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1703 // Step 3: Wait for completionCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1708 // Step 4: Click previewCOMMENT
LOW…pp/components/datasets/create/__tests__/index.spec.tsx1110 // Step 1: Set up dataCOMMENT
LOW…pp/components/datasets/create/__tests__/index.spec.tsx1114 // Step 2: Set cachesCOMMENT
LOW…components/variable/__tests__/output-var-list.spec.tsx88 // Step 1: rename var_2 -> var_1 (creates duplicate)COMMENT
LOW…components/variable/__tests__/output-var-list.spec.tsx98 // Step 2: rename second var_1 -> var_2 (restores unique names)COMMENT
LOWweb/app/components/base/mermaid/index.tsx254 // Step 1: Clean and prepare Mermaid code using the extracted prepareMermaidCode functionCOMMENT
LOWweb/app/components/base/mermaid/index.tsx261 // Step 2: Render chartCOMMENT
LOWweb/app/components/base/mermaid/index.tsx264 // Step 3: Apply theme to SVG using the extracted processSvgForTheme functionCOMMENT
LOWweb/app/components/base/mermaid/index.tsx272 // Step 4: Clean up SVG codeCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx390 // Step 1: Set credentialCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx393 // Step 2: Set file listCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx397 // Step 3: Select current file for previewCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx410 // Step 1: Set credentialCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx413 // Step 2: Init crawlCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx416 // Step 3: Crawl completes with resultsCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx425 // Step 4: Set website pages from resultsCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx428 // Step 5: Set previewCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx445 // Step 1: Set credentialCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx448 // Step 2: Set bucketCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx452 // Step 3: Navigate into foldersCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx462 // Step 4: Navigate deeperCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx466 // Step 5: Select filesCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx101 // Step 1: Start with an unpinned app and pin itCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx114 // Step 2: Simulate refetch returning pinned state, then unpinCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx139 // Step 1: Open operation menu and click deleteCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx143 // Step 2: Confirm dialog appearsCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx146 // Step 3: Confirm deletionCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx149 // Step 4: Uninstall API called and success toast shownCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx381 // Step 1: User clicks "Add to Workspace" on an app cardCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx397 // Step 2: Click the app card - opens create modal in self-hosted/non-cloud modeCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx400 // Step 3: Confirm creation in modalCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx403 // Step 4: API fetches app detailCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx408 // Step 5: DSL import triggers pending confirmationCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx411 // Step 6: DSL confirm modal appears and user confirmsCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx415 // Step 7: Flow completes successfullyCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx425 // Step 1: Loading stateCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx432 // Step 2: Data loadsCOMMENT
LOW.agents/skills/frontend-testing/references/workflow.md47### Step 1: Analyze and PlanCOMMENT
LOW.agents/skills/frontend-testing/references/workflow.md57### Step 2: Determine Processing OrderCOMMENT
LOW.agents/skills/frontend-testing/references/workflow.md76### Step 3: Process Each File IncrementallyCOMMENT
76 more matches not shown…
Redundant / Tautological Comments172 hits · 250 pts
SeverityFileLineSnippetContext
LOWdocker/dify-env-sync.sh310 # Check if this is an environment variable lineCOMMENT
LOWdocker/dify-env-sync.sh316 # Check if key should be preservedCOMMENT
LOWdocker/nginx/docker-entrypoint.sh6 # Check if the certificate and key files for the specified domain existCOMMENT
LOWdocker/elasticsearch/docker-entrypoint.sh6 # Check if the ICU tokenizer plugin is installedCOMMENT
LOWdocker/elasticsearch/docker-entrypoint.sh14 # Check if the Japanese language analyzer plugin is installedCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh174 # Check if version already exists on npmCOMMENT
LOWscripts/stress-test/run_locust_stress_test.sh39# Check if services are runningCOMMENT
LOWscripts/stress-test/setup_all.py77 # Print outputCOMMENT
LOWscripts/stress-test/setup_all.py120 # Check if required services are runningCOMMENT
LOWscripts/stress-test/sse_benchmark.py460 # Check if runner is stoppingCOMMENT
LOWscripts/stress-test/setup/login_admin.py61 # Check if login was successfulCOMMENT
LOWscripts/stress-test/setup/run_workflow.py86 # Print output if it's the LLM nodeCOMMENT
LOWapi/tasks/regenerate_summary_index_task.py67 # Check if summary index is enabled (only for summary_model change)COMMENT
LOWapi/tasks/generate_summary_index_task.py53 # Check if document needs summaryCOMMENT
LOWapi/tasks/generate_summary_index_task.py74 # Check if summary index is enabledCOMMENT
LOWapi/tasks/duplicate_document_indexing_task.py57 # Check if there are waiting tasks in the queueCOMMENT
LOWapi/tasks/document_indexing_task.py209 # Check if there are waiting tasks in the queueCOMMENT
LOWapi/tasks/workflow_node_execution_tasks.py55 # Check if node execution already existsCOMMENT
LOWapi/tasks/workflow_execution_tasks.py53 # Check if workflow run already existsCOMMENT
LOW…i/tasks/rag_pipeline/priority_rag_pipeline_run_task.py81 # Check if there are waiting tasks in the queueCOMMENT
LOWapi/tasks/rag_pipeline/rag_pipeline_run_task.py87 # Check if there are waiting tasks in the queueCOMMENT
LOWapi/docker/entrypoint.sh25 # Set MAX_WORKERS to the number of available cores if not specifiedCOMMENT
LOWapi/core/datasource/datasource_file_manager.py162 # Check if message_file is not NoneCOMMENT
LOWapi/core/tools/tool_file_manager.py177 # Check if message_file is not NoneCOMMENT
LOWapi/core/tools/utils/text_processing_utils.py15 # Check if text starts with a markdown link - preserve itCOMMENT
LOWapi/core/tools/mcp_tool/tool.py113 # Check if content looks like JSON before attempting to parseCOMMENT
LOWapi/core/app/apps/base_app_generator.py141 # Check if all files are converted to FileCOMMENT
LOWapi/core/plugin/utils/chunk_merger.py60 # Check if file is too large (before appending)COMMENT
LOWapi/core/plugin/utils/chunk_merger.py66 # Check if single chunk is too largeCOMMENT
LOW…ories/sqlalchemy_workflow_node_execution_repository.py385 # Check if record already existsCOMMENT
LOWapi/core/agent/fc_agent_runner.py228 # Check if max iteration is reached and model still wants to call toolsCOMMENT
LOWapi/core/agent/cot_agent_runner.py179 # Check if max iteration is reached and model still wants to call toolsCOMMENT
LOWapi/core/mcp/client/streamable_client.py416 # Check if we should stopCOMMENT
LOWapi/core/mcp/client/streamable_client.py431 # Check if this is a resumption requestCOMMENT
LOWapi/core/rag/datasource/retrieval_service.py514 # Check if this is a summary documentCOMMENT
LOWapi/core/rag/datasource/retrieval_service.py652 # Check if this segment was retrieved via summaryCOMMENT
LOWapi/core/rag/datasource/retrieval_service.py698 # Check if this segment was retrieved via summaryCOMMENT
LOWapi/core/schemas/resolver.py309 # Check if this dict has a $ref fieldCOMMENT
LOWapi/core/prompt/simple_prompt_transform.py328 # Check if the prompt file is already loadedCOMMENT
LOWapi/core/ops/ops_trace_manager.py146 # Check if there's a model-specific configCOMMENT
LOWapi/core/ops/utils.py97 # Check if scheme is allowedCOMMENT
LOWapi/core/ops/utils.py128 # Check if scheme is allowedCOMMENT
LOWapi/core/helper/ssrf_proxy.py192 # Check if this is a Squid SSRF rejectionCOMMENT
LOWapi/core/helper/csv_sanitizer.py54 # Check if first character is a formula initiatorCOMMENT
LOWapi/core/helper/credential_utils.py77 # Check if credential exists in database first (if requested)COMMENT
LOWapi/core/logging/filters.py74 # Check if user is authenticated using the proxyCOMMENT
LOWapi/core/entities/mcp_provider.py216 # Check if we have nested client_information structureCOMMENT
LOWapi/core/entities/provider_configuration.py719 # Check if this credential is used in load balancing configsCOMMENT
LOWapi/core/entities/provider_configuration.py738 # Check if this is the currently active credentialCOMMENT
LOWapi/core/entities/provider_configuration.py1222 # Check if this is the currently active credentialCOMMENT
LOW…b-oceanbase/src/dify_vdb_oceanbase/oceanbase_vector.py87 self._hybrid_search_enabled = self._check_hybrid_search_support() # Check if hybrid search is supportedCODE
LOW…rch/src/dify_vdb_elasticsearch/elasticsearch_vector.py86 # Check if using Elastic CloudCOMMENT
LOW…rch/src/dify_vdb_elasticsearch/elasticsearch_vector.py321 # Check if ELASTICSEARCH_USE_CLOUD is explicitly set to false (boolean)COMMENT
LOW…rs/vdb/vdb-chroma/src/dify_vdb_chroma/chroma_vector.py128 # Check if results contain dataCOMMENT
LOW…b-couchbase/src/dify_vdb_couchbase/couchbase_vector.py201 # Check if the collection exists in the scopeSTRING
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py214 # Check if connection is not expired and still validCOMMENT
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py486 # Check if table already exists to avoid unnecessary index creationCOMMENT
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py527 # Check if vector index already exists on the embedding columnCOMMENT
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py560 # Check if an inverted index already exists on this columnCOMMENT
LOW…lickzetta/src/dify_vdb_clickzetta/clickzetta_vector.py678 # Check if we have any valid data to insertCOMMENT
112 more matches not shown…
Verbosity Indicators121 hits · 238 pts
SeverityFileLineSnippetContext
LOWsdks/nodejs-client/scripts/publish.sh127 # Step 1: Environment CheckCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh164 # Step 2: Read Package InfoCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh187 # Step 3: Install DependenciesCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh195 # Step 4: Run TestsCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh207 # Step 5: BuildCOMMENT
LOWsdks/nodejs-client/scripts/publish.sh229 # Step 6: PublishCOMMENT
LOW…-panel/subscription-list/edit/__tests__/index.spec.tsx1271 // Step 1: VerifyCOMMENT
LOW…-panel/subscription-list/edit/__tests__/index.spec.tsx1277 // Step 2: UpdateCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1929 // Step 1: UploadingCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1932 // Step 2: Upload complete, transition to readyToInstallCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1940 // Step 3: Start installationCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx1944 // Step 4: Installation completeCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2006 // Step 1: UploadingCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2010 // Step 2: Upload complete, transition to readyToInstallCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2019 // Step 3: Start installationCOMMENT
LOW…in/install-from-local-package/__tests__/index.spec.tsx2023 // Step 4: Installation completeCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1696 // Step 1: Enter URLCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1700 // Step 2: Run crawlCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1703 // Step 3: Wait for completionCOMMENT
LOW…ets/create/website/watercrawl/__tests__/index.spec.tsx1708 // Step 4: Click previewCOMMENT
LOW…pp/components/datasets/create/__tests__/index.spec.tsx1110 // Step 1: Set up dataCOMMENT
LOW…pp/components/datasets/create/__tests__/index.spec.tsx1114 // Step 2: Set cachesCOMMENT
LOW…components/variable/__tests__/output-var-list.spec.tsx88 // Step 1: rename var_2 -> var_1 (creates duplicate)COMMENT
LOW…components/variable/__tests__/output-var-list.spec.tsx98 // Step 2: rename second var_1 -> var_2 (restores unique names)COMMENT
LOWweb/app/components/base/mermaid/index.tsx254 // Step 1: Clean and prepare Mermaid code using the extracted prepareMermaidCode functionCOMMENT
LOWweb/app/components/base/mermaid/index.tsx261 // Step 2: Render chartCOMMENT
LOWweb/app/components/base/mermaid/index.tsx264 // Step 3: Apply theme to SVG using the extracted processSvgForTheme functionCOMMENT
LOWweb/app/components/base/mermaid/index.tsx272 // Step 4: Clean up SVG codeCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx390 // Step 1: Set credentialCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx393 // Step 2: Set file listCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx397 // Step 3: Select current file for previewCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx410 // Step 1: Set credentialCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx413 // Step 2: Init crawlCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx416 // Step 3: Crawl completes with resultsCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx425 // Step 4: Set website pages from resultsCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx428 // Step 5: Set previewCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx445 // Step 1: Set credentialCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx448 // Step 2: Set bucketCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx452 // Step 3: Navigate into foldersCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx462 // Step 4: Navigate deeperCOMMENT
LOW…b/__tests__/datasets/pipeline-datasource-flow.test.tsx466 // Step 5: Select filesCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx101 // Step 1: Start with an unpinned app and pin itCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx114 // Step 2: Simulate refetch returning pinned state, then unpinCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx139 // Step 1: Open operation menu and click deleteCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx143 // Step 2: Confirm dialog appearsCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx146 // Step 3: Confirm deletionCOMMENT
LOWweb/__tests__/explore/sidebar-lifecycle-flow.test.tsx149 // Step 4: Uninstall API called and success toast shownCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx381 // Step 1: User clicks "Add to Workspace" on an app cardCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx397 // Step 2: Click the app card - opens create modal in self-hosted/non-cloud modeCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx400 // Step 3: Confirm creation in modalCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx403 // Step 4: API fetches app detailCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx408 // Step 5: DSL import triggers pending confirmationCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx411 // Step 6: DSL confirm modal appears and user confirmsCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx415 // Step 7: Flow completes successfullyCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx425 // Step 1: Loading stateCOMMENT
LOWweb/__tests__/explore/explore-app-list-flow.test.tsx432 // Step 2: Data loadsCOMMENT
LOWcli/test/e2e/suites/run/run-app-conversation.e2e.ts519 // Step 1: create a conversation with chatApp.COMMENT
LOWcli/test/e2e/suites/run/run-app-conversation.e2e.ts526 // Step 2: attempt to continue that conversation using fileChatApp.COMMENT
LOWcli/test/e2e/suites/run/run-app-conversation.e2e.ts412 // Step 1: Start a new conversation with a file — get the conversation_id.COMMENT
LOWcli/test/e2e/suites/run/run-app-conversation.e2e.ts428 // Step 2: Continue the same conversation with another file upload.COMMENT
61 more matches not shown…
Cross-Language Confusion40 hits · 220 pts
SeverityFileLineSnippetContext
HIGH…dify_agent/agent_stub/server/test_agent_stub_config.py166 push_response = await request_handler.push(CODE
HIGH…dify_agent/agent_stub/server/test_agent_stub_config.py272 await request_handler.push(principal=_principal(), request=AgentStubConfigPushRequest())CODE
HIGH…dify_agent/agent_stub/server/test_agent_stub_config.py304 await request_handler.push(principal=_principal(**context_updates), request=AgentStubConfigPushRequest())CODE
HIGH…gent/src/dify_agent/agent_stub/server/control_plane.py181 return await handler.push(principal=principal, request=request)CODE
HIGHapi/core/app/apps/agent_app/app_runner.py960 debounced_delta = text_delta_debouncer.push(internal_event.delta)CODE
HIGHapi/core/workflow/generator/prompts/builder_prompts.py146 "multiple_retrieval_config": {"top_k": 4, "score_threshold": null,CODE
HIGHapi/core/workflow/generator/prompts/builder_prompts.py153 "outputs": {"result": {"type": "string", "children": null}}}""",CODE
HIGHapi/core/workflow/generator/prompts/builder_prompts.py161 "authorization": {"type": "no-auth", "config": null},CODE
HIGH…tta/tests/integration_tests/test_docker_integration.py151 "1. Run: cd docker && docker-compose -f docker-compose.yaml -f docker-compose.clickzetta.yaml up -d"CODE
HIGH…t_tests/tasks/test_remove_app_and_related_data_task.py44 '"metadata":{},"config":null}]'CODE
HIGH…it_tests/core/app/apps/agent_app/test_session_store.py321 composition_layer_specs='[{"name":"execution_context","type":"dify.execution_context","deps":{},"metadatCODE
HIGH…it_tests/core/app/apps/agent_app/test_session_store.py335 composition_layer_specs='[{"name":"execution_context","type":"dify.execution_context","deps":{},"metadatCODE
HIGHapi/tests/unit_tests/core/plugin/test_plugin_runtime.py679 f'data: {{"code": -500, "message": {json.dumps(error_obj)}, "data": null}}',CODE
HIGHapi/tests/unit_tests/core/plugin/test_plugin_runtime.py1127 f'data: {{"code": -500, "message": {json.dumps(error_obj)}, "data": null}}',CODE
HIGH…s/unit_tests/core/plugin/impl/test_base_client_impl.py134 client, "_stream_request", return_value=iter(['{"code":-500,"message":"not-json","data":null}'])CODE
HIGH…s/unit_tests/core/plugin/impl/test_base_client_impl.py143 mocker.patch.object(client, "_stream_request", return_value=iter(['{"code":-1,"message":"err","data":null}']))CODE
HIGH…s/unit_tests/core/plugin/impl/test_base_client_impl.py150 mocker.patch.object(client, "_stream_request", return_value=iter(['{"code":0,"message":"","data":null}']))CODE
HIGHapi/tests/unit_tests/core/mcp/test_types.py158 request_json = '{"jsonrpc": "2.0", "id": 1, "method": "test", "params": null}'CODE
HIGHapi/tests/unit_tests/core/mcp/client/test_sse.py24 json_message = '{"jsonrpc": "2.0", "id": "123", "method": "ping", "params": null}'CODE
HIGHapi/tests/unit_tests/core/mcp/client/test_sse.py39 json_message = '{"jsonrpc": "2.0", "method": "ping", "params": null}'CODE
HIGHapi/tests/unit_tests/libs/test_oauth_clients.py137 # The profile email is absent/null, so /user/emails should be calledCOMMENT
HIGH…tests/unit_tests/commands/test_check_no_new_getattr.py230 "base-rev: ${{ github.event.pull_request.base.sha || github.event.merge_group.base_sha }}"CODE
HIGH…t_tests/controllers/console/app/test_app_import_api.py232 b'{"import_mode":"yaml-content","yaml_content":"app: {}","app_id":null,'CODE
HIGH…t_tests/controllers/console/app/test_app_import_api.py233 b'"name":null,"description":null,"icon_type":null,"icon":null,"icon_background":null}'CODE
HIGH…t_tests/controllers/console/app/test_app_import_api.py271 b'"name":null,"description":null,"icon_type":null,"icon":null,"icon_background":null}'CODE
HIGHapi/tests/unit_tests/services/test_billing_service.py417 """When billing serializes skipped vector_space as null, get_info treats it as absent."""STRING
HIGH…tests/unit_tests/services/test_agent_config_service.py175 service.push(CODE
HIGH…tests/unit_tests/services/test_agent_config_service.py248 manifest = service.push(CODE
HIGH…/unit_tests/services/tools/test_mcp_tools_transform.py312 mock_provider_full.tools = '[{"name": "tool1", "description": null, "inputSchema": {}}]'CODE
HIGH…ts/services/agent/test_skill_tool_inference_service.py35 '{"inferable": true, "reason": null, "cli_tools": [{"name": "ffmpeg",'CODE
HIGH…ts/services/agent/test_skill_tool_inference_service.py96 raw = 'Here you go: {"inferable": true, "cli_tools": [], "reason": null,}'CODE
HIGH…ntainers_integration_tests/controllers/mcp/test_mcp.py595 """An unsupported header gets a JSON-RPC error echoing the request id (missing id -> null)."""STRING
HIGH…ntegration_tests/services/test_conversation_service.py1115 composition_layer_specs='[{"name":"history","type":"pydantic_ai.history","deps":{},"metadata":{},"config":nuCODE
HIGH…ntegration_tests/services/test_conversation_service.py1220 composition_layer_specs='[{"name":"history","type":"pydantic_ai.history","deps":{},"metadata":{},"config":nuCODE
HIGH…ntegration_tests/services/test_conversation_service.py1276 composition_layer_specs='[{"name":"history","type":"pydantic_ai.history","deps":{},"metadata":{},"config":nuCODE
HIGH…ntegration_tests/services/test_conversation_service.py1321 composition_layer_specs='[{"name":"history","type":"pydantic_ai.history","deps":{},"metadata":{},"config":nuCODE
HIGH…repositories/sqlalchemy_api_workflow_run_repository.py32from sqlalchemy import and_, delete, func, null, or_, select, tuple_CODE
HIGHapi/controllers/mcp/mcp.py104 offending request's id directly (None -> null) instead of fabricating a placeholder.STRING
HIGHapi/services/billing_service.py214 # Unset proto message fields can be serialized as null; the light billing contract treats it as absent.COMMENT
HIGHapi/services/agent/skill_tool_inference_service.py85 "reason": str | null}CODE
Modern AI Meta-Vocabulary60 hits · 180 pts
SeverityFileLineSnippetContext
MEDIUM…dataset-config/settings-modal/__tests__/index.spec.tsx416 // Validation guardrails before saving.COMMENT
MEDIUM…lls/frontend-code-review/references/dify-invariants.md12## Workflow Nodes And RAG PipeCOMMENT
MEDIUMcli/ARD.md29## New command scaffoldCOMMENT
MEDIUMcli/test/e2e/README.md147(PR #37460): `--think` surfaces the chain-of-thought to stderr framed asCODE
MEDIUMapi/tasks/regenerate_summary_index_task.py164 # Re-vectorize with new embedding modelCOMMENT
MEDIUMapi/tasks/async_workflow_tasks.py199 # Final failure - no retry logic (simplified like RAG tasks)COMMENT
MEDIUMapi/core/indexing_runner.py789 # get embedding model instanceCOMMENT
MEDIUMapi/core/rag/datasource/vdb/vector_factory.py124 # construction. The real embedding model is materialized only when anCOMMENT
MEDIUMapi/core/workflow/node_factory.py507 # Stage 4 §5/§7: per-output validation + failure orchestration. TheCOMMENT
MEDIUMapi/core/workflow/nodes/agent_v2/agent_node.py412 # ──── Stage 4: orchestrate retry / default / fail ────COMMENT
MEDIUMapi/enterprise/telemetry/enterprise_trace.py807 # Get embedding model for this specific datasetCOMMENT
MEDIUMapi/constants/pipeline_templates.json1356 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json1356 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json122 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json122 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json3875 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json3875 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json5191 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uniCODE
MEDIUM…ace-tencent/src/dify_trace_tencent/entities/semconv.py85 RETRIEVER = "RETRIEVER" # RAGCODE
MEDIUM…t_tests/core/rag/datasource/vdb/test_vector_factory.py169 # embedding model until ``embed_*`` is invoked, so cleanup paths neverCOMMENT
MEDIUMapi/tests/unit_tests/core/rag/rerank/test_reranker.py684 # Mock embedding modelCOMMENT
MEDIUM…ests/unit_tests/core/workflow/generator/test_runner.py2096 # Only "real_search" is installed; "fake_search" is the hallucination.COMMENT
MEDIUM…ers/console/app/test_workflow_human_input_debug_api.py34 # Skip setup and auth guardrailsCOMMENT
MEDIUM…it_tests/controllers/console/datasets/test_datasets.py863 # embedding model NOT configuredCOMMENT
MEDIUMapi/tests/unit_tests/services/test_workflow_service.py170 # Add trigger node for event-driven workflows (webhook, schedule, etc.)COMMENT
MEDIUMapi/tests/unit_tests/services/test_workflow_service.py782 # Trigger nodes enable event-driven automation which consumes resourcesCOMMENT
MEDIUM…tests/tasks/test_batch_create_segment_to_index_task.py67 # Mock embedding model for high quality indexingCOMMENT
MEDIUMapi/controllers/service_api/dataset/dataset.py655 # check embedding model settingCOMMENT
MEDIUMapi/controllers/service_api/dataset/segment.py201 # check embedding model settingCOMMENT
MEDIUMapi/controllers/service_api/dataset/segment.py291 # check embedding model settingCOMMENT
MEDIUMapi/controllers/service_api/dataset/segment.py417 # check embedding model settingCOMMENT
MEDIUMapi/controllers/service_api/dataset/segment.py556 # check embedding model settingCOMMENT
MEDIUMapi/controllers/console/app/generator.py59# planner+builder prompts well inside every mainstream context window.COMMENT
MEDIUMapi/controllers/console/datasets/datasets.py667 # check embedding model settingCOMMENT
MEDIUMapi/controllers/console/datasets/datasets_segments.py369 # check embedding model settingCOMMENT
MEDIUMapi/controllers/console/datasets/datasets_segments.py424 # check embedding model settingCOMMENT
MEDIUMapi/controllers/console/datasets/datasets_segments.py498 # check embedding model settingCOMMENT
MEDIUMapi/controllers/console/datasets/datasets_segments.py682 # check embedding model settingCOMMENT
MEDIUMapi/services/vector_service.py52 # get embedding model instanceCOMMENT
MEDIUMapi/services/vector_service.py54 # check embedding model settingCOMMENT
MEDIUMapi/services/dataset_service.py935 # Remove embedding model configuration for economy modeCOMMENT
MEDIUMapi/services/dataset_service.py941 # Configure embedding model for high quality modeCOMMENT
MEDIUMapi/services/dataset_service.py945 # Handle embedding model updates when indexing technique remains the sameCOMMENT
MEDIUMapi/services/dataset_service.py1023 # If the dataset already has embedding model settings, use thoseCOMMENT
MEDIUMapi/services/dataset_service.py1030 # Otherwise, don't try to update embedding model settings at allCOMMENT
MEDIUMapi/services/dataset_service.py427 # check if embedding model setting is validCOMMENT
MEDIUMapi/services/dataset_service.py790 # Handle indexing technique changes and embedding model updatesCOMMENT
MEDIUMapi/services/dataset_service.py1002 # Skip embedding model checks if not provided in the update requestCOMMENT
MEDIUMapi/services/dataset_service.py1096 # If we can't get the embedding model, preserve existing settingsCOMMENT
MEDIUMapi/services/dataset_service.py1107 # Skip the rest of the embedding model updateCOMMENT
MEDIUMapi/services/dataset_service.py1110 # Apply new embedding model settingsCOMMENT
MEDIUMapi/services/dataset_service.py1225 # get embedding model settingCOMMENT
MEDIUMapi/services/dataset_service.py1259 # Skip embedding model checks if not provided in the update requestCOMMENT
MEDIUMapi/services/dataset_service.py1275 # Only update embedding model if both values are provided and different from currentCOMMENT
MEDIUMapi/services/dataset_service.py1291 # If we can't get the embedding model, skip updating itCOMMENT
MEDIUMapi/services/dataset_service.py1293 # Skip the rest of the embedding model updateCOMMENT
MEDIUMapi/services/dataset_service.py3574 # get embedding model instanceCOMMENT
MEDIUMapi/services/dataset_service.py3576 # check embedding model settingCOMMENT
MEDIUMapi/services/dataset_service.py3685 # get embedding model instanceCOMMENT
MEDIUMapi/services/dataset_service.py3687 # check embedding model settingCOMMENT
AI Slop Vocabulary44 hits · 101 pts
SeverityFileLineSnippetContext
MEDIUMdocker/dify-env-sync.sh231 # Numeric check - using arithmetic evaluation for robust comparisonCOMMENT
MEDIUMweb/app/components/goto-anything/context.tsx46 // Update context based on current pathname using more robust route matchingCOMMENT
MEDIUM…/chat-with-history/header/__tests__/operation.spec.tsx90 // Find trigger container by text and traverse to interactive container using a more robust selectorCOMMENT
MEDIUMweb/app/components/base/mermaid/utils.ts193 // parser is more robust.COMMENT
MEDIUMweb/public/vs/language/css/cssWorker.js73This is used to produce an effect that is known as tate-ch\u016B-yoko (\u7E26\u4E2D\u6A2A) in Japanese, or as \u76F4\u66CODE
MEDIUMweb/public/vs/language/html/htmlWorker.js259 * To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/doCOMMENT
MEDIUMweb/public/vs/language/html/htmlWorker.js270Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{naCODE
MEDIUMweb/public/vs/language/html/htmlWorker.js270Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{naCODE
MEDIUMweb/public/vs/language/html/htmlWorker.js288**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users,CODE
MEDIUMapi/constants/recommended_apps.json426 "export_data": "app:\n icon: \"\\U0001F911\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: InvCODE
MEDIUMapi/constants/recommended_apps.json426 "export_data": "app:\n icon: \"\\U0001F911\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: InvCODE
MEDIUMapi/constants/recommended_apps.json444 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: chat\n name: Python buCODE
MEDIUMapi/constants/recommended_apps.json484 "export_data": "app:\n icon: \"\\U0001F522\"\n icon_background: '#E4FBCC'\n mode: agent-chat\n name: YouCODE
MEDIUMapi/constants/recommended_apps.json500 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: workflow\n name: SEO BCODE
MEDIUMapi/constants/recommended_apps.json516 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: workflow\n name: 'SentCODE
MEDIUMapi/constants/pipeline_templates.json1356 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json3132 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUMapi/constants/pipeline_templates.json3132 "export_data": "dependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_uCODE
MEDIUM…i/tests/unit_tests/core/datasource/test_file_upload.py888 """Tests for comprehensive filename validation logic.STRING
LOW…s/core/datasource/entities/test_datasource_entities.py72 # For STRING, it should just return the value as is (or cast to str)COMMENT
MEDIUMapi/tests/unit_tests/core/plugin/test_plugin_manager.py974 # Arrange & Act: Create resource requirements with comprehensive model permissionsCOMMENT
LOW…sts/unit_tests/core/mcp/session/test_client_session.py576 # Should just pass (case _:)COMMENT
MEDIUM…/tests/unit_tests/core/workflow/test_workflow_entry.py481 # Define comprehensive variable mappingCOMMENT
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py193 # Create comprehensive system variablesCOMMENT
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py272 # Create comprehensive user inputsCOMMENT
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py344 # Create a comprehensive VariablePool with all data typesCOMMENT
MEDIUM…i/tests/unit_tests/core/workflow/test_variable_pool.py363 # Create a comprehensive VariablePool with all data typesCOMMENT
LOW…t_tests/core/workflow/generator/test_runner_missing.py28 # BuiltinNodeTypes is not imported directly, we need to mock or just use the generator methodCOMMENT
MEDIUM…ts/core/external_data_tool/test_external_data_fetch.py30 # This approach is robust regardless of thread scheduling orderCOMMENT
MEDIUM…nit_tests/commands/test_legacy_model_type_migration.py1048 except BaseException as exc: # pragma: no cover - test harnessCODE
MEDIUM…nit_tests/commands/test_legacy_model_type_migration.py1135 except BaseException as exc: # pragma: no cover - test harnessCODE
MEDIUMapi/tests/unit_tests/services/controller_api.py930# When writing API tests, consider the following best practices:COMMENT
MEDIUM…s/unit_tests/services/test_external_dataset_service.py144 """Test get_external_knowledge_apis operations - comprehensive coverage."""STRING
MEDIUM…s/unit_tests/services/test_external_dataset_service.py1236 """Test process_external_api operations - comprehensive HTTP method coverage."""STRING
MEDIUM…s/unit_tests/services/test_external_dataset_service.py1384 """Test assembling_headers operations - comprehensive authorization coverage."""STRING
MEDIUM…services/rag_pipeline/test_rag_pipeline_dsl_service.py550# --- export_rag_pipeline_dsl comprehensive ---STRING
MEDIUM…ation_tests/tasks/test_create_segment_to_index_task.py1075 # Arrange: Create comprehensive test scenarioCOMMENT
MEDIUM…ation_tests/tasks/test_create_segment_to_index_task.py1093 # Assert: Verify comprehensive successCOMMENT
MEDIUMapi/models/workflow.py1688 # `WorkflowEntry.handle_special_values`, making a comprehensive migration challenging.COMMENT
LOWapi/libs/external_api.py35 # If Werkzeug already prepared a Response, just use it. This bypassesCOMMENT
LOWapi/services/workflow_draft_variable_service.py426 # For consistency, we should simply return when processing VARIABLE_ASSIGNER nodes.COMMENT
LOWapi/services/snippet_dsl_service.py512 # For now, just return the dataset_id as-isCOMMENT
LOWapi/services/variable_truncator.py475 # without any truncation, so just return it as-isCOMMENT
MEDIUMapi/services/workflow_event_snapshot_service.py110 # ensure that we can utilize the index.COMMENT
AI Structural Patterns74 hits · 60 pts
SeverityFileLineSnippetContext
LOW…fy-agent/tests/local/dify_agent/runtime/test_runner.py167CODE
LOWdify-agent/src/dify_agent/agent_stub/cli/_drive.py101CODE
LOWdify-agent/src/shellctl/cli.py90CODE
LOWdify-agent/src/shellctl/cli.py257CODE
LOWapi/core/tools/utils/web_reader_tool.py97CODE
LOWapi/core/app/apps/chat/generate_response_converter.py38CODE
LOWapi/core/app/apps/workflow/generate_task_pipeline.py791CODE
LOWapi/core/app/apps/advanced_chat/app_generator.py482CODE
LOW…/app/apps/advanced_chat/generate_response_converter.py60CODE
LOW…ore/app/apps/agent_chat/generate_response_converter.py38CODE
LOWapi/core/plugin/impl/model.py48CODE
LOWapi/core/plugin/backwards_invocation/model.py188CODE
LOWapi/core/plugin/backwards_invocation/model.py211CODE
LOWapi/core/rag/datasource/retrieval_service.py781CODE
LOWapi/core/workflow/nodes/agent/agent_node.py196CODE
LOWapi/core/helper/code_executor/template_transformer.py71CODE
LOWapi/core/moderation/api/api.py90CODE
LOW…s/vdb/vdb-vikingdb/tests/integration_tests/conftest.py24CODE
LOW…rs/vdb/vdb-tencent/tests/integration_tests/conftest.py18CODE
LOW…rs/vdb/vdb-tencent/tests/integration_tests/conftest.py124CODE
LOWapi/tests/workflow_test_utils.py32CODE
LOW…ests/core/app/layers/test_pause_state_persist_layer.py101CODE
LOW…/test_sqlalchemy_workflow_node_execution_repository.py51CODE
LOW…tests/core/rag/datasource/test_datasource_retrieval.py198CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py444CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py515CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py594CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py1329CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py1424CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py1477CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py1537CODE
LOW…nit_tests/core/rag/retrieval/test_dataset_retrieval.py1616CODE
LOW…_tests/core/workflow/graph_engine/test_table_runner.py295CODE
LOWapi/tests/unit_tests/oss/__mock/aliyun_oss.py26CODE
LOW…tests/unit_tests/controllers/inner_api/app/test_dsl.py127CODE
LOW…s/unit_tests/controllers/openapi/auth/test_pipeline.py13CODE
LOW…ts/unit_tests/services/dataset_service_test_helpers.py299CODE
LOW…ts/unit_tests/services/dataset_service_test_helpers.py338CODE
LOW…ts/unit_tests/services/dataset_service_test_helpers.py158CODE
LOW…ts/unit_tests/services/dataset_service_test_helpers.py208CODE
LOWapi/tests/unit_tests/services/test_oauth_device_flow.py25CODE
LOW…/unit_tests/services/test_agent_app_sandbox_service.py209CODE
LOWapi/tests/unit_tests/services/test_account_service.py39CODE
LOWapi/tests/unit_tests/services/test_vector_service.py55CODE
LOW…ervices/workflow/test_node_output_inspector_service.py64CODE
LOWapi/tests/integration_tests/tools/__mock/http.py28CODE
LOW…/tests/integration_tests/workflow/nodes/__mock/http.py45CODE
LOW…_integration_tests/services/document_service_status.py41CODE
LOW…ers_integration_tests/services/test_dataset_service.py59CODE
LOW…ration_tests/services/test_dataset_service_document.py47CODE
LOW…s/test_dataset_service_batch_update_document_status.py58CODE
LOW…_tests/services/test_dataset_service_update_dataset.py58CODE
LOWapi/extensions/ext_redis.py82CODE
LOWapi/controllers/service_api/app/file_preview.py131CODE
LOWapi/controllers/console/workspace/account.py567CODE
LOW…console/datasets/rag_pipeline/rag_pipeline_workflow.py1030CODE
LOWapi/services/workflow_app_service.py42CODE
LOWapi/services/snippet_generate_service.py224CODE
LOWapi/services/account_service.py1937CODE
LOWapi/services/app_dsl_service.py89CODE
14 more matches not shown…
Dead Code6 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUM…/tests/unit_tests/clients/agent_backend/test_client.py130CODE
MEDIUM…tests/unit_tests/core/plugin/impl/test_model_client.py193CODE
MEDIUM…tests/unit_tests/core/plugin/impl/test_model_client.py524CODE
MEDIUM…nit_tests/core/workflow/test_workflow_entry_helpers.py987CODE
MEDIUM…/tests/unit_tests/core/workflow/nodes/llm/test_node.py1608CODE
MEDIUM…it_tests/controllers/console/app/test_generator_api.py673CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHsdks/php-client/README.md34$apiKey = 'your-api-key-here';CODE
HIGHsdks/php-client/README.md91Replace 'your-api-key-here' with your actual Dify API key.CODE
Slop Phrases5 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMweb/docker/entrypoint.sh6# you can use the Ubuntu terminal to convert this file to unix formatCOMMENT
MEDIUM…pp/create-app-dialog/app-card/__tests__/index.spec.tsx48 description: 'A test chat application for demonstration purposes',CODE
LOWweb/public/vs/language/css/cssWorker.js32`),[{language:"html",value:r}]}doPrint(e,t){for(let r of e)this.doPrintElement(r,t),r.children&&this.doPrint(r.children,CODE
MEDIUMweb/public/vs/language/html/htmlWorker.js306**Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/CODE
MEDIUMapi/constants/recommended_apps.json468 "export_data": "app:\n icon: \"\\U0001F916\"\n icon_background: '#FFEAD5'\n mode: advanced-chat\n name: CODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…/workflow-generator/__tests__/example-prompts.spec.tsx40 // The primary content is AI-generated, workspace-grounded chips fetched onCOMMENT
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…ents/workflow/nodes/code/__tests__/code-parser.spec.ts119 print("Hello")`,CODE
TODO Padding2 hits · 4 pts
SeverityFileLineSnippetContext
LOW…/tests/unit_tests/core/workflow/nodes/llm/test_node.py528# TODO: Add testCOMMENT
LOW…/tests/unit_tests/core/workflow/nodes/llm/test_node.py568# TODO: Add testCOMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…ix/src/dify_trace_arize_phoenix/arize_phoenix_trace.py377 def process_data(self) -> Mapping[str, Any] | None: ...CODE
LOW…/unit_tests/extensions/otel/decorators/test_handler.py249 def my_function(x):CODE
Example Usage Blocks1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsdks/nodejs-client/scripts/publish.sh7# Usage:COMMENT