Integrating PyRight project-based code-linting. This will allow us to detect:
* Misuse of async functions.
* Misuse of optional type and other annotated types (currently disabled)
* Wrong usage of pydantic and prisma model.
* Wrong usage of third-party library.
* Use of undeclared field
* Use of uninstalled third-party library (which will prompt LLM to add the requirement list)
Known trade-off:
Setting-up PyRight requires building a full-project (generate the Prisma model code, installing 3rd-party library, compiling the function with the object dependency) this slows down the code-validation during the code-validation step.
---------
Co-authored-by: majdyz <[email protected]>
Co-authored-by: SwiftyOS <[email protected]>
* [AGPT-533] Fix Optional type handling, add default None value
* Add auto fix prisma models and enums
* Make test happy
* Make test happy
* Replace typing list with the original typing list
* Revert prevCallId
* Revert prevCallId
* Add more auto imports
* Fix gen_test
---------
Co-authored-by: majdyz <[email protected]>