You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This pull request converts Protocol-based type definitions to concrete base classes and updates related type handling throughout the SDK. Changes include removing @runtime_checkable decorators from CoreNodeBase, CoreNode, and CoreNodeSync in protocols_base.py, converting them to concrete classes with NotImplementedError implementations. Additional updates address protocol handling in schema validation, related node type checking, and schema name resolution logic. Dependencies on runtime protocol attributes were replaced with subclass checks and explicit type casting. Version updates and type-ignore directives were also removed from several files.
Docstring coverage is 10.53% which is insufficient. The required threshold is 80.00%.
Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name
Status
Explanation
Description Check
✅ Passed
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
✅ Passed
The title clearly and specifically identifies the main change: fixing typing errors related to protocols, which aligns with the primary objective of converting protocol types to concrete classes.
Linked Issues check
✅ Passed
All changes directly address issue #697 by converting protocols to concrete classes (CoreNodeBase, CoreNode, CoreNodeSync) and updating type checks/imports, eliminating mypy 'type-abstract' errors when using generated kinds.
Out of Scope Changes check
✅ Passed
All changes are directly related to converting protocols to concrete classes and removing type-ignore directives. The Ruff version update in .pre-commit-config.yaml is a minor tooling maintenance update tangential to the main fix.
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #697
Replace protocols with concrete classes to address type-abstract mypy errors
Summary by CodeRabbit
Refactor
Chores
Tests
✏️ Tip: You can customize this high-level summary in your review settings.