Skip to content

refactor: replace bare dict with dict[str, Any] in dataset and external_knowledge services#35073

Merged
asukaminato0721 merged 1 commit intolanggenius:mainfrom
wdeveloper16:refactor/typed-dict-dataset-external-knowledge
Apr 13, 2026
Merged

refactor: replace bare dict with dict[str, Any] in dataset and external_knowledge services#35073
asukaminato0721 merged 1 commit intolanggenius:mainfrom
wdeveloper16:refactor/typed-dict-dataset-external-knowledge

Conversation

@wdeveloper16
Copy link
Copy Markdown
Contributor

Summary

Tighten bare dict annotations in dataset and external knowledge services:

  • services/dataset_service.pysummary_index_setting, data_source_info, estimate_args_validate.args, segment_create_args_validate.args, create_segment.args
  • services/external_knowledge_service.pyvalidate_api_list.api_settings, create_external_knowledge_api.args, check_endpoint_and_api_key.settings, document_create_args_validate.process_parameter, assembling_headers.headers,
    get_external_knowledge_api_settings.settings, create_external_dataset.args, external_retrieval_parameters

All are dynamic API/datasource configurations or parsed request payloads, so dict[str, Any] is the correct shape. Any is already imported in both files.

No behavior change — types only.

Part of #22651.

Test plan

  • make lint passes
  • make type-check-core passes

@wdeveloper16 wdeveloper16 requested a review from JohnJyong as a code owner April 13, 2026 14:39
@dosubot dosubot Bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Apr 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-04-13 14:40:38.611394652 +0000
+++ /tmp/pyrefly_pr.txt	2026-04-13 14:40:28.866470621 +0000
@@ -6249,7 +6249,7 @@
    --> tests/unit_tests/services/test_external_dataset_service.py:116:60
 ERROR Argument `str` is not assignable to parameter `type` with type `Literal['api-key', 'no-auth']` in function `services.entities.external_knowledge_entities.external_knowledge_entities.Authorization.__init__` [bad-argument-type]
    --> tests/unit_tests/services/test_external_dataset_service.py:117:35
-ERROR Argument `None` is not assignable to parameter `api_settings` with type `dict[Unknown, Unknown]` in function `services.external_knowledge_service.ExternalDatasetService.validate_api_list` [bad-argument-type]
+ERROR Argument `None` is not assignable to parameter `api_settings` with type `dict[str, Any]` in function `services.external_knowledge_service.ExternalDatasetService.validate_api_list` [bad-argument-type]
    --> tests/unit_tests/services/test_external_dataset_service.py:401:54
 ERROR Argument `str | None` is not assignable to parameter `s` with type `bytearray | bytes | str` in function `json.loads` [bad-argument-type]
    --> tests/unit_tests/services/test_external_dataset_service.py:880:31

@asukaminato0721 asukaminato0721 added this pull request to the merge queue Apr 13, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Apr 13, 2026
Merged via the queue into langgenius:main with commit d8fbc00 Apr 13, 2026
28 checks passed
HanqingZ pushed a commit to HanqingZ/dify that referenced this pull request Apr 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants