Skip to content

refactor(api): enable strict typing for schema resolver tests - #44050

Merged
asukaminato0721 merged 1 commit into
langgenius:mainfrom
ShousenZHANG:refactor/strict-typing-schemas-tests
Oct 14, 2026
Merged

asukaminato0721 merged 1 commit into
langgenius:mainfrom
ShousenZHANG:refactor/strict-typing-schemas-tests

Conversation

@ShousenZHANG

Copy link
Copy Markdown
Contributor

Summary

Part of #24645, following #44040.

The three core/schemas test modules (test_registry.py, test_resolver.py, test_schema_manager.py) were excluded from strict Pyrefly checks and produced 201 diagnostics.

129 of them came from one pattern in test_resolver.py:

  • resolve_dify_schema_refs and SchemaResolver.resolve return SchemaType, a union of dict, list, str, int, float, bool and None.
  • The tests indexed the result directly (resolved["properties"]["name"]["type"]).
  • Pyrefly reports each such line once per non-dict member of the union, so 23 lines produced 129 errors.

The rest were:

  • 10 from two loops that built nested schemas by mutating dicts through untyped indexing;
  • 49 missing return annotations and one unannotated mock parameter;
  • 10 untyped empty containers;
  • a recursive rebinding Pyrefly could not infer;
  • one list typed by its first use.

No production code changes.

What changed

  • test_resolver.py
    • Dict results. The nine tests that read keys from the result now assert isinstance(resolved, dict) right after resolving, which is what each of them expects from resolving a dict schema. The list case already asserted isinstance(resolved, list).
    • Nested performance schemas. Two tests built 100- and 50-level schemas by walking down current["properties"][...] and mutating it, which cannot be typed. A small _nested_schema(depth) helper now builds the same structure from the inside out.
    • Inference fixes.
      • deep_schema, which is rebound to a dict containing itself, is annotated dict[str, object].
      • The thread-results list holds both schemas and exceptions, so it is typed list[object].
  • test_registry.py / test_schema_manager.py. Type the empty containers and the patched default_registry mock.
  • All three files. Annotate the tests with -> None, and remove them from the unit-test Pyrefly exclusions.

test_resolver.py keeps its tests/unit_tests/.ruff.toml entry (ARG005, T201) for now: that line sits next to lines open PR #43214 edits, so removing it here would add a conflict there.

Verification

  • pyrefly check --config=tests/unit_tests/pyrefly.toml --use-ignore-files=false --disable-project-excludes-heuristics=true on the three files (from api/): 201 diagnostics before the change, zero after.
  • pyrefly check --config=tests/unit_tests/pyrefly.toml over the whole unit-test project: passed.
  • These all passed:
    • ruff format --check and ruff check, on the files and on the whole api/ tree
    • lint-imports: 68 contracts kept
    • scripts/check_no_new_getattr.py, check_no_new_controller_sqlalchemy.py, check_no_new_session_mock.py and check_no_spec_mock.py
  • pytest on the three files with -v on Python 3.13: 46 passed, the same 46 test IDs as before the change.

Screenshots

Before After
N/A: test and type-check configuration only; 201 strict diagnostics. N/A: zero strict diagnostics; files included in normal type checks.

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've verified the change and added or updated tests where meaningful regression risk justifies coverage.
  • I've updated the documentation accordingly.
  • I ran make lint && make type-check (backend) and vp staged (frontend) to appease the lint gods (backend only: ran the underlying ruff, import-linter, guard-script and Pyrefly commands listed above)

From Claude Code

Bring the core/schemas unit tests under Pyrefly strict mode.
resolve_dify_schema_refs and SchemaResolver.resolve return SchemaType,
a union of dict, list and scalars; the tests indexed the result directly,
which accounted for 129 of the 201 diagnostics. Assert the resolved
schema is a dict before reading keys, build the deeply nested
performance schemas with a typed helper instead of mutating dicts
through untyped indexing, type the thread results and the recursive
deep_schema, and remove the three files from the Pyrefly exclusions.
Copilot AI balanced review requested due to automatic review settings October 14, 2026 05:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ghfind-review ghfind-review Bot added the review: high ghfind author score; see https://ghfind.com label Oct 14, 2026
@github-actions github-actions Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Oct 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-10-14 05:17:01.787421788 +0000
+++ /tmp/pyrefly_pr.txt	2026-10-14 05:16:53.387397977 +0000
@@ -3822,286 +3822,6 @@
    --> tests/unit_tests/core/repositories/test_sqlalchemy_workflow_execution_repository.py:301:33
 ERROR `None` is not assignable to attribute `_creator_user_role` with type `CreatorUserRole` [bad-assignment]
    --> tests/unit_tests/core/repositories/test_sqlalchemy_workflow_execution_repository.py:306:35
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:42:16
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:42:16
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:42:16
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:42:16
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:42:16
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:42:16
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:43:16
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:43:16
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:43:16
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:43:16
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:43:16
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:43:16
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:44:31
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:44:31
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:44:31
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:44:31
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:44:31
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:44:31
-ERROR `not in` is not supported between `Literal['$id']` and `bool` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:48:16
-ERROR `not in` is not supported between `Literal['$id']` and `float` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:48:16
-ERROR `not in` is not supported between `Literal['$id']` and `int` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:48:16
-ERROR `not in` is not supported between `Literal['$id']` and `None` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:48:16
-ERROR `not in` is not supported between `Literal['$schema']` and `bool` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:49:16
-ERROR `not in` is not supported between `Literal['$schema']` and `float` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:49:16
-ERROR `not in` is not supported between `Literal['$schema']` and `int` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:49:16
-ERROR `not in` is not supported between `Literal['$schema']` and `None` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:49:16
-ERROR `not in` is not supported between `Literal['version']` and `bool` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:50:16
-ERROR `not in` is not supported between `Literal['version']` and `float` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:50:16
-ERROR `not in` is not supported between `Literal['version']` and `int` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:50:16
-ERROR `not in` is not supported between `Literal['version']` and `None` [not-iterable]
-  --> tests/unit_tests/core/schemas/test_resolver.py:50:16
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:65:16
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:65:16
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:65:16
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:65:16
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:65:16
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:65:16
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:66:30
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:66:30
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:66:30
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:66:30
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:66:30
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:66:30
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:91:16
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:91:16
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:91:16
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:91:16
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:91:16
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:91:16
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:92:16
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:92:16
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:92:16
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:92:16
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:92:16
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:92:16
-ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:95:24
-ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:95:24
-ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:95:24
-ERROR Cannot index into `list[Any]` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:95:24
-ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/schemas/test_resolver.py:95:24
-ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/core/schemas/test_resolver.py:95:24
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:112:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:112:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:112:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:112:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:112:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:112:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:115:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:115:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:115:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:115:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:115:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:115:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:116:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:116:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:116:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:116:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:116:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:116:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:133:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:133:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:133:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:133:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:133:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:133:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:134:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:134:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:134:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:134:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:134:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:134:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:135:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:135:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:135:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:135:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:135:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:135:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:136:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:136:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:136:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:136:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:136:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:136:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:150:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:150:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:150:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:150:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:150:16
-ERROR `in` is not supported between `Literal['$circular_ref']` and `bool` [not-iterable]
-   --> tests/unit_tests/core/schemas/test_resolver.py:170:16
-ERROR `in` is not supported between `Literal['$circular_ref']` and `float` [not-iterable]
-   --> tests/unit_tests/core/schemas/test_resolver.py:170:16
-ERROR `in` is not supported between `Literal['$circular_ref']` and `int` [not-iterable]
-   --> tests/unit_tests/core/schemas/test_resolver.py:170:16
-ERROR `in` is not supported between `Literal['$circular_ref']` and `None` [not-iterable]
-   --> tests/unit_tests/core/schemas/test_resolver.py:170:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:182:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:182:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:182:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:182:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:182:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:182:16
-ERROR Argument `Exception` is not assignable to parameter `object` with type `bool | dict[str, Any] | float | int | list[Any] | str | None` in function `list.append` [bad-argument-type]
-   --> tests/unit_tests/core/schemas/test_resolver.py:233:32
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:273:16
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:273:16
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:273:16
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:273:16
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:273:16
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:273:16
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:274:27
-ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:274:27
-ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:274:27
-ERROR Cannot index into `list[Any]` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:274:27
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:274:27
-ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:274:27
-ERROR Cannot set item in `str` [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:593:13
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:594:23
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:667:13
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:667:13
-ERROR Cannot set item in `str` [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:667:13
-ERROR Cannot set item in `dict[str, str]` [unsupported-operation]
-   --> tests/unit_tests/core/schemas/test_resolver.py:667:51
-ERROR `dict[@_, @_]` is not assignable to dict value type `str` [bad-assignment]
-   --> tests/unit_tests/core/schemas/test_resolver.py:667:84
-ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:668:23
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:668:23
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/schemas/test_resolver.py:668:23
 ERROR Argument `Literal[core.entities.provider_entities.ProviderQuotaType.TRIAL]` is not assignable to parameter `quota_type` with type `models.enums.ProviderQuotaType | SQLCoreOperations[models.enums.ProviderQuotaType | None] | None` in function `models.provider.Provider.__init__` [bad-argument-type]
    --> tests/unit_tests/core/test_provider_manager.py:114:20
 ERROR Argument `Literal['llm']` is not assignable to parameter `model_type` with type `ModelType | SQLCoreOperations[ModelType]` in function `models.provider.ProviderModelSetting.__init__` [bad-argument-type]

@github-actions

Copy link
Copy Markdown
Contributor

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 74.39% 74.45% +0.06%
Strict coverage 74.05% 74.11% +0.06%
Typed symbols 60,465 60,514 +49
Untyped symbols 20,914 20,865 -49
Modules 3753 3753 0

@codecov

codecov Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.92%. Comparing base (ba5532a) to head (424c6c1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #44050      +/-   ##
==========================================
- Coverage   88.92%   88.92%   -0.01%     
==========================================
  Files        5332     5332              
  Lines      329404   329404              
  Branches    65910    65910              
==========================================
- Hits       292923   292920       -3     
- Misses      31282    31286       +4     
+ Partials     5199     5198       -1     
Flag Coverage Δ
api 88.46% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@asukaminato0721
asukaminato0721 added this pull request to the merge queue Oct 14, 2026
Merged via the queue into langgenius:main with commit 341660f Oct 14, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: high ghfind author score; see https://ghfind.com size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants