julep icon indicating copy to clipboard operation
julep copied to clipboard

Fix isinstance union usage in agents-api

Open HamadaSalhab opened this issue 6 months ago • 3 comments
trafficstars

User description

Summary

  • fix isinstance checks that used | operator
  • adjust evaluator and task validation helpers

Testing

  • ruff format agents-api/agents_api/queries/utils.py agents-api/agents_api/common/utils/evaluator.py agents-api/agents_api/activities/task_steps/base_evaluate.py agents-api/agents_api/web.py agents-api/agents_api/workflows/task_execution/__init__.py agents-api/agents_api/common/utils/expressions.py agents-api/agents_api/common/utils/task_validation.py
  • ruff check agents-api/agents_api/queries/utils.py agents-api/agents_api/common/utils/evaluator.py agents-api/agents_api/activities/task_steps/base_evaluate.py agents-api/agents_api/web.py agents-api/agents_api/workflows/task_execution/__init__.py agents-api/agents_api/common/utils/expressions.py agents-api/agents_api/common/utils/task_validation.py
  • pip install pytype (fails: no network access)

PR Type

Bug fix


Description

  • Fix incorrect usage of isinstance with union types

    • Replace isinstance(x, A | B) with isinstance(x, (A, B))
    • Update all affected files for compatibility
  • Improve type safety and error handling in evaluators and validators


Changes walkthrough 📝

Relevant files
Bug fix
7 files
base_evaluate.py
Fix isinstance usage for numeric types in evaluator           
+1/-1     
evaluator.py
Correct isinstance check for population types                       
+1/-1     
expressions.py
Update isinstance for numeric and None checks                       
+1/-1     
task_validation.py
Fix isinstance for comprehension node types                           
+1/-1     
utils.py
Correct isinstance for list and tuple serialization           
+1/-1     
web.py
Fix isinstance for validation error handling                         
+1/-1     
__init__.py
Update isinstance for cancellation error types                     
+1/-1     

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.

  • [!IMPORTANT] Fix isinstance checks using | operator to use tuples for compatibility in agents-api module.

    • Behavior:
      • Fix isinstance checks using | operator to use tuples for compatibility in base_evaluate.py, evaluator.py, and web.py.
    • Validation:
      • Adjust validate_py_expression() in task_validation.py to use tuples in isinstance checks.
    • Misc:
      • Run ruff for formatting and linting on affected files.
      • Attempted pytype installation failed due to no network access.

    This description was created by Ellipsis for 7ad9ffc378801cee85a8ae33ac5af2d9e94a90dc. You can customize this summary. It will automatically update as commits are pushed.

    HamadaSalhab avatar May 19 '25 12:05 HamadaSalhab