87 Commits
Author SHA1 Message Date
Aarushi cc9b5f4591 [AGPT-596] Create .github/workflows and related deployment file (#175)
* Create .github/workflows and related deployment file

* Update packager.py
2024-04-04 17:38:06 +02:00
Zamil Majdyandmajdyz 8df7f7350f [AGPT-594] Introduce Event Logging (#169)
* Introduce event logging, captured event: All non-Get HTTP operations.
* Refactor routes.py on each API: removed redundant try-catch for unknown exception, use JsonResponse
* Fix broken api_test.py due to DB seeding being removed.

---------

Co-authored-by: majdyz <[email protected]>
2024-04-04 17:38:06 +02:00
Reinier van der Leer 0a55c40e4c feat(deploy): Switch generated requirements.txt to Poetry (#164)
- Add `create_pyproject` and `poetry_lock` subroutines in packager.py
- Replace step to create requirements.txt with step to create pyproject.toml and poetry.lock
- Add default value `None` to `python_path` parameter on `execute_command` utility function
- Update generated Dockerfile and README.md for switch to Poetry
2024-04-04 17:38:06 +02:00
Aarushi ee90e2d6aa Update health check to use db user and db name. (#173) 2024-04-04 17:38:06 +02:00
Reinier van der Leer 3bd5f4cb92 feat(deploy): Use gitpython for Git operations in packager (#168)
- Rewrite `git_init` subroutine in `deploy.packager` to use `gitpython` rather than `subcommand.run(["git", ...])`
- Add `gitpython` dependency
2024-04-04 17:38:06 +02:00
Reinier van der Leer 839ae23101 fix(compile): Resolve multiplicate dependencies -> fix static code analysis (#161)
- Move resolution of multiplicate dependencies from deploy to compile
- Rename `generate_requirements_txt` to `requirements_txt_from_packages`
2024-03-28 10:02:58 +01:00
Reinier van der Leer 36597885a3 feat(deploy): Include version specifiers in generated requirements.txt (#155)
If a package is specified multiple times, it is resolved to a requirement for the highest mentioned version.
2024-03-27 16:07:16 +01:00
Reinier van der Leer 5a776c911a fix(deploy): Deprecate pipreqs as a secondary package guesser (#149)
* fix(deploy): Deprecate `pipreqs` as a secondary package guesser

   The develop stage already outputs a list of packages required by the application,
and `pipreqs` is unreliable.

   - Remove usage of `pipreqs` from deploy.packager
   - Remove `pipreqs` dependency

* tweak incantations regarding imports & requirements
2024-03-27 10:38:30 +01:00
Zamil Majdyandmajdyz fa72f11b22 [AGPT-580] Support async subprocess execution (#145)
Subprocess execution implementation (for Ruff & PyRight) is currently a blocking call. This doesn't work well with the event-loop used by the fastapi.

Scope:

Make AiBlock.validate async
Make subprocess execution async.

---------

Co-authored-by: majdyz <[email protected]>
2024-03-25 18:22:18 +04:00
d379a0c363 [AGPT-571] Integrate PyRight (#141)
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]>
2024-03-22 16:51:47 +04:00
Reinier van der Leer f3a2f4023a refactor(deploy): Clean up & improve generated docker setup 2024-03-21 11:15:53 +01:00
Reinier van der Leer 8682d54905 lint(deploy): remove disabled DB port config from generated docker compose file 2024-03-21 11:03:14 +01:00
Reinier van der Leer b3f1845db9 Make app port configurable through PORT env var 2024-03-21 10:56:18 +01:00
Zamil Majdyandmajdyz 92416fadac [AGPT-556] Overhaul code-validation design + Add PyRight in commented mode (#139)
This is a large but a much needed change to allow more sophisticated static code analysis to be added.

PyRight (used by pylance) will allow us to detect:

Misuse of async functions.
Misuse of optional type and other annotated types.
Wrong usage of pydantic and prisma model.
Wrong usage of third-party library.
The overhaul is required to allow us retrying while fixing the code as a project (not only as a function) and allow us to keep adding non-LLM fixes to it so that we can avoid wasting the retry.

The scope of this PR is still a refactoring and the adding of the PyRight linter, so this PR try to keep the existing behaviour.
The enablement and more tuning on the linter will be done in the followup PR.

---------

Co-authored-by: majdyz <[email protected]>
2024-03-21 13:28:17 +04:00
Toran Bruce Richards 1653a13288 Update git_init() call in packager.py to init in root directory rather than project folder. (#137) 2024-03-19 14:33:01 -05:00
Reinier van der Leer 6690bb76ac refactor(deploy): Clean up & improve generated docker setup
* Re-apply improvements from bb43387, with additional fixes:
  - Fix Prisma client generation
  - Fix `DATABASE_URL` in docker-compose.yml

* Simplify mechanism to wait for database availability before starting app container (introduced in a1963c9 through #133)
  - Remove deploy/wait-for-it.sh
2024-03-19 16:02:16 +01:00
Reinier van der LeerandSwiftyOS c06231d061 feat(deploy): Add instructions to run app to generated README (#131)
* Add instructions to run app to generated README

- Add `generate_readme` function to packager.py
- Fix usage/formatting of block strings in packager.py

* Add docstring to generate_readme

* Fix instructions regarding .env

* Change author in generated README to "AutoGPT" (remove mention of Codex)

* Update README generated by packager.py

Remove `cd` steps to go into and out of `project` folder. This is no longer needed since requirements.txt is now at the root level of the package.

* Update instructions in packager.py

---------

Co-authored-by: SwiftyOS <[email protected]>
2024-03-19 09:33:16 +01:00
Swifty a1963c97fd Add wait-for-it.sh script and update Dockerfile and docker-compose.ym… (#133)
* Add wait-for-it.sh script and update Dockerfile and docker-compose.yml***

* Update packager.py to use bash for wait-for-it.sh command
2024-03-19 09:27:52 +01:00
Toran Bruce Richards 9d28333782 AGPT-449 - Initialise a Git Repo with Generated Code (#120)
* Add Git user name and email to .env.example

* Add Git repository initialization and commit code in deploy step

* Extract git repository init to function.

* Update Git user configuration to only apply locally in newly initialized repository.

* Unset local Git user configuration after commiting

* Lint
2024-03-18 15:48:12 -05:00
Reinier van der Leer bb43387320 fix(deploy): Clean up & fix generated Docker setup
- Remove `ffmpeg` from `apt-get install` step
- Fix and deduplicate `COPY` statements: exclude irrelevant files and optimize for caching
- Add `DATABASE_URL` to `app` service in `docker-compose.yml`
2024-03-18 18:32:18 +01:00
Reinier van der Leer 61e263cb9e fix(deploy): Create .env as copy of .env.template
... rather than generating a new template and writing it to .env
2024-03-18 18:21:44 +01:00
SwiftyOS 7d0c56ec11 Add .env file and update packager.py 2024-03-18 17:24:51 +01:00
Swifty fef08c6bc6 [AGPT-516] add docker file (#130)
* Add Dockerfile and update docker-compose.yml

* Update system dependencies installation in packager.py

* Remove unused environment variable declaration
2024-03-18 17:19:06 +01:00
Reinier van der LeerandSwiftyOS 7d6e04a9b8 fix(deploy): [AGPT-515] Update generated project structure (#129)
* fix(deploy): [AGPT-515] Update generated project structure

Resolves [AGPT-515](https://linear.app/autogpt/issue/AGPT-515)

* Fixed file structure

---------

Co-authored-by: SwiftyOS <[email protected]>
2024-03-18 17:03:20 +01:00
Swifty f5034615fe [AGPT-552] fix type hint errors (#127)
* Fix function template and add validation for required fields

* Add pytest hook to .pre-commit-config.yaml

* Update pytest configuration to pass filenames and include only .py files
2024-03-18 14:49:13 +01:00
6995f6c457 Dev -> Master Batch 1 Part 1 (#109)
* Route schema changes

* Delete ruff.config.json

* save current changes

* style fixes by ruff

* Add class parsing capability

* Fix bugs

* Address comments

* Fix benchmarks

* Fix benchmarks

* Fix benchmarks

* Add comments

* fixing types

* Add error handling and status messages for application creation

* Refactor fetch_deliverable function and update application creation status

* Refactor benchmark output formatting

* Remove unnecessary print statement in fetch_deliverable function

* Propagate DB schema changes: Function <-> CompiledRouteSpec (#65)

Propagate DB schema changes: Function <-> CompiledRouteSpec (#65)

---------

Co-authored-by: majdyz <[email protected]>
Co-authored-by: Swifty <[email protected]>
Co-authored-by: majdyz <[email protected]>

* emoved broken hardcoded requirements

* Add benchmarking functionality

* Update branch restrictions in GitHub workflows

* Add pytest-cov to dependencies

* Update ruff formatter command to include --check option

* Update workflow names

* Refactor code formatting and fix indentation issues

* Update Python dependency caching and installation process

* Add Prisma client generation step to CI workflow

* Refactor test_process_object_type to use async/await

* Add pytest and ValidationError imports, update arg_types assertion, and add test for ValidationError

* Remove unused imports and commented code

* Add logger to OpenAIChatClient class

* Add async context manager for database connection and disconnection

* Add blank line for readability

* Refactor function_def.arg_types assignment in ast_test.py

* mark integration tests

* Update test workflow name

* Add OpenAI API key configuration

* Better Types for Requirements Request/Response (#76)

Better Types for Requirements Request/Response

---------

Co-authored-by: majdyz <[email protected]>

* [AGPT-474] End-to-end Benchmark (#77)

* Remove unnecessary fetch_deliverable calls and update invoice_generator_requirements

* Fix typo in hardcoded.py

* Add missing app IDs and interview IDs for calendar booking, inventory management, and invoicing systems

* Add options to benchmark and example commands

* Refactor benchmarking code and add new functions

* Add task description method to ExampleTask enum

* Added end-to-end running

* Add hardcoded flag to filter examples in benchmark.py

* Refactor run_benchmark_example function to handle exceptions

* Fix error handling in specification routes

* Fix Function generation bug on nested object type (#79)

Co-authored-by: majdyz <[email protected]>

* Speeding up requirements system

---------

Co-authored-by: Zamil Majdy <[email protected]>
Co-authored-by: majdyz <[email protected]>

* Refactor code: Remove unused imports and clean up formatting

* [AGPT-478] Add Support for Composite Type with multiple Pydantic/nont-primitive classes (#78)

* [AGPT-478] Add support for multiple composite Pydantic objects

* Ruff Ruff!

* Fix failing test

* formatting

* fix populate-db command

* fix run all benchmarks

---------

Co-authored-by: majdyz <[email protected]>
Co-authored-by: Swifty <[email protected]>

* Refactor package handling in packager.py (#81)

* [Fix] User provided app name being replaced (#82)

* Only make databases when required (#83)

* feat: make the name match

* feat: database becomes optional

* Update agent.py

* Integrate related types into the requirements system (#84)

* feat: make the name match

* feat: database becomes optional

* feat: initial model changes

* feat: add prompts

* feat: more prompts

* fix: nits

* fix: wrong type 😢

* feat: improved prompts

* Cleanup for field type (#85)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Improve type composite-type matching & extracting algorithm (#86)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Add Autogeneration of Typing import (#87)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Fix broken class compiling logic (#88)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Fix function fetching to always include RelatedTypes (#89)

[AGPT-489] Fix function fetching to always include RelatedTypes

---------

Co-authored-by: majdyz <[email protected]>

* fix lock file

* feat: endpoint updates (#95)

* feat: endpoint updates

* fix: ambiguous param

* [AGPT-486] Fix codegen generate code with missing pydantic object (#92)

Co-authored-by: majdyz <[email protected]>

* Fix retry prompt (#96)

Co-authored-by: majdyz <[email protected]>

* Allow benchmark on $PORT (#98)

* Ntindle/agpt 506 add a bit of debug tooling for requirements gen (#100)

* [AGPT-485] Fix missing pydantic object during requirement-step; leading to LLM to guess wrong signature (#97)

[AGPT-485] Fix missing pydantic object during requirement-step; leading to LLM to guess wrong signature

---------

Co-authored-by: majdyz <[email protected]>

* [AGPT-157] Add Database Integration Generation (#90)

* Added prisma client to server code

* Add DatabaseSchema to INCLUDE_FUNC

* Update functions to be async and add database schema documentation

* Add DatabaseSchema and DatabaseTables to ApiRouteSpec

* Updated dev prompts for db

* Update profile management descriptions

* Update route function definition to be async

* Remove logging of database schema

* Add Prisma schema file generation

* Refactor benchmark and agent modules

* Refactor code and comment out debug statements

* formatting

* Add available_functions to develop_route

* Update prisma import and method calls

* loading all related tables

* Refactor create_prisma_scheama_file function to handle cases with no database schema

* Fix async function call in packager.py

* Fix database table query in packager.py

* Fix database access and unnecessary imports

* review comments

* [AGPT-508] Enum support for Codex - Generation Logic Layer (#102)

Co-authored-by: majdyz <[email protected]>

* Add Enum Generation to Requriements (#101)

* Added prisma client to server code

* Add DatabaseSchema to INCLUDE_FUNC

* Update functions to be async and add database schema documentation

* Add DatabaseSchema and DatabaseTables to ApiRouteSpec

* Updated dev prompts for db

* Update profile management descriptions

* Update route function definition to be async

* Remove logging of database schema

* Add Prisma schema file generation

* Refactor benchmark and agent modules

* Refactor code and comment out debug statements

* formatting

* Add available_functions to develop_route

* Update prisma import and method calls

* loading all related tables

* Refactor create_prisma_scheama_file function to handle cases with no database schema

* Fix async function call in packager.py

* Fix database table query in packager.py

* Fix database access and unnecessary imports

* feat: add enums to the database gen

* fix: formatting

* Updated to new schema

* update hardcoded requirements

* fix: objectType generation without type bool

* Add database enum import statement

* removed unused var as failing lint check

---------

Co-authored-by: SwiftyOS <[email protected]>

* More Linting Issues Fixes (#99)

* fix: more linting issues

* Remove error log for async functions

* Fix return_type default value in FunctionDef class

* Added another validation check

---------

Co-authored-by: Swifty <[email protected]>

* [AGPT-463] Add code generation validation using Ruff (#103)

---------

Co-authored-by: majdyz <[email protected]>

* feat: extract external command on in memory code to a function with tests

* feat: prisma model parser

* feat: database test updates

now requires prisma to run

* feat: test for prisma accessible

* feat: update to use format and validate

Also saves the formatted and validated models in place

* fix: lint

* fix: remove unused variable

* feat: allow multiple generators

* .gitignore and .env.example (#107)

* feat: .env.example

* feat: gitignore

* fix: replace all bad chars with NOTHING

also fix the format string

* Add Database Docker Compose File (#108)

* feat: .env.example

* feat: gitignore

* fix: replace all bad chars with NOTHING

also fix the format string

* feat: add docker compose with only db

---------

Co-authored-by: Swifty <[email protected]>

* feat: remove vector requirement (#106)

* Fix lifecycle and prisma models and enums missing (#105)

* fix: add prisma model imports fro root level

* fix: reorder start code and add lifecycle

* Validate Database Generation (#104)

* feat: extract external command on in memory code to a function with tests

* feat: prisma model parser

* feat: database test updates

now requires prisma to run

* feat: test for prisma accessible

* feat: update to use format and validate

Also saves the formatted and validated models in place

* fix: lint

* fix: remove unused variable

* feat: allow multiple generators

* formatting

* Change logger.info to logger.debug in exec_external_on_contents function

* Update error logging in exec_external_on_contents function

* Update response model and route annotation in compile.py

* Force

* Ruff

* Fix Api route spec

* formatting

* Dont generate envexample passwords with symbols in them (#117)

* fix: don't use special chars in db password

* fix: linting

* [AGPT-540] Add missing initialization of available object types (#113)

* [AGPT-540] Add missing initialization of available object types

* [AGPT-540] Add missing initialization of available object types

* [AGPT-540] Add missing initialization of available object types

* Ruff

* allow non-annotated type checking

* Include all available function for ruff

* Fix tests

* Make DB work

* Make stubbing work

* Make papa-lint happy

* Ruffs

* Add prisma model validation layer

* Improve prisma querying by avoiding conflict

* Move on during failure formatting

---------

Co-authored-by: majdyz <[email protected]>

* main into dev (#118)

* Update setup guide.

* [AGPT-544] Vague 500 errors in interview stage (#115)

* Add error handling for user not found in database during interview step.

* Add error handling for app not found in database during interview step.

* Add error handling for interview not found in database during interview step.

* Add error handling for nonexistent questions in interview step.

* Add error handling for non-"ask" tool in user answers in interview step.

* Clarify comment describing interview next_step.

---------

Co-authored-by: Toran Bruce Richards <[email protected]>

* [AGPT-511] Resume running from any point (#114)

* Refactor populate_db function and add get_resume_points command

* Fix app ID reference in benchmark.py

* Add ResumePoint model

* Added runner funcitons to running codex from the cli

* Add application description field to ApplicationBase model and update create_app method in CodexClient

* Refactor code to run tasks concurrently

* Add include parameter to find_many() method in get_resume_points()

* Add disconnect calls to asyncio event loop

* Update resume_point name to display only the first 30 characters

* Remove commented out code and unused imports

* Remove unused code

* formatting

* Fix validation error handling in develop.py

* formatting

* fixes

* Add validation error for unimplemented main function

* Validate and try-fix generated endpoint db and model usage (#116)

* feat: log status

* feat: trivial implementation of copy

works for request -> response and response-> request for unfilled object but not list[unfilled_object]

* fix: i cant rememember

* feat: more complex

* feat: mostly working

* fix: fixes from tests

* feat: tests

* fix: linting problems and test name

* feat: add more supported types

* fix: remove unused data

* fix: stop using print

* fix: arrays of arrays

* fix: lint

* fix: reduce mess

* feat: more complex type that I hope we never actually use

* fix: lint

---------

Co-authored-by: majdyz <[email protected]>
Co-authored-by: majdyz <[email protected]>
Co-authored-by: Zamil Majdy <[email protected]>
Co-authored-by: Nicholas Tindle <[email protected]>
Co-authored-by: Nicholas Tindle <[email protected]>
Co-authored-by: Toran Bruce Richards <[email protected]>
2024-03-15 17:16:53 +01:00
e79d563fd4 Dev -> Master (#73)
* Route schema changes

* Delete ruff.config.json

* save current changes

* style fixes by ruff

* Add class parsing capability

* Fix bugs

* Address comments

* Fix benchmarks

* Fix benchmarks

* Fix benchmarks

* Add comments

* fixing types

* Add error handling and status messages for application creation

* Refactor fetch_deliverable function and update application creation status

* Refactor benchmark output formatting

* Remove unnecessary print statement in fetch_deliverable function

* Propagate DB schema changes: Function <-> CompiledRouteSpec (#65)

Propagate DB schema changes: Function <-> CompiledRouteSpec (#65)

---------

Co-authored-by: majdyz <[email protected]>
Co-authored-by: Swifty <[email protected]>
Co-authored-by: majdyz <[email protected]>

* emoved broken hardcoded requirements

* Add benchmarking functionality

* Update branch restrictions in GitHub workflows

* Add pytest-cov to dependencies

* Update ruff formatter command to include --check option

* Update workflow names

* Refactor code formatting and fix indentation issues

* Update Python dependency caching and installation process

* Add Prisma client generation step to CI workflow

* Refactor test_process_object_type to use async/await

* Add pytest and ValidationError imports, update arg_types assertion, and add test for ValidationError

* Remove unused imports and commented code

* Add logger to OpenAIChatClient class

* Add async context manager for database connection and disconnection

* Add blank line for readability

* Refactor function_def.arg_types assignment in ast_test.py

* mark integration tests

* Update test workflow name

* Add OpenAI API key configuration

* Better Types for Requirements Request/Response (#76)

Better Types for Requirements Request/Response

---------

Co-authored-by: majdyz <[email protected]>

* [AGPT-474] End-to-end Benchmark (#77)

* Remove unnecessary fetch_deliverable calls and update invoice_generator_requirements

* Fix typo in hardcoded.py

* Add missing app IDs and interview IDs for calendar booking, inventory management, and invoicing systems

* Add options to benchmark and example commands

* Refactor benchmarking code and add new functions

* Add task description method to ExampleTask enum

* Added end-to-end running

* Add hardcoded flag to filter examples in benchmark.py

* Refactor run_benchmark_example function to handle exceptions

* Fix error handling in specification routes

* Fix Function generation bug on nested object type (#79)

Co-authored-by: majdyz <[email protected]>

* Speeding up requirements system

---------

Co-authored-by: Zamil Majdy <[email protected]>
Co-authored-by: majdyz <[email protected]>

* Refactor code: Remove unused imports and clean up formatting

* [AGPT-478] Add Support for Composite Type with multiple Pydantic/nont-primitive classes (#78)

* [AGPT-478] Add support for multiple composite Pydantic objects

* Ruff Ruff!

* Fix failing test

* formatting

* fix populate-db command

* fix run all benchmarks

---------

Co-authored-by: majdyz <[email protected]>
Co-authored-by: Swifty <[email protected]>

* Refactor package handling in packager.py (#81)

* [Fix] User provided app name being replaced (#82)

* Only make databases when required (#83)

* feat: make the name match

* feat: database becomes optional

* Update agent.py

* Integrate related types into the requirements system (#84)

* feat: make the name match

* feat: database becomes optional

* feat: initial model changes

* feat: add prompts

* feat: more prompts

* fix: nits

* fix: wrong type 😢

* feat: improved prompts

* Cleanup for field type (#85)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Improve type composite-type matching & extracting algorithm (#86)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Add Autogeneration of Typing import (#87)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Fix broken class compiling logic (#88)

Co-authored-by: majdyz <[email protected]>

* [AGPT-489] Fix function fetching to always include RelatedTypes (#89)

[AGPT-489] Fix function fetching to always include RelatedTypes

---------

Co-authored-by: majdyz <[email protected]>

* fix lock file

* feat: endpoint updates (#95)

* feat: endpoint updates

* fix: ambiguous param

* [AGPT-486] Fix codegen generate code with missing pydantic object (#92)

Co-authored-by: majdyz <[email protected]>

* Fix retry prompt (#96)

Co-authored-by: majdyz <[email protected]>

* Allow benchmark on $PORT (#98)

* Ntindle/agpt 506 add a bit of debug tooling for requirements gen (#100)

* [AGPT-485] Fix missing pydantic object during requirement-step; leading to LLM to guess wrong signature (#97)

[AGPT-485] Fix missing pydantic object during requirement-step; leading to LLM to guess wrong signature

---------

Co-authored-by: majdyz <[email protected]>

* [AGPT-157] Add Database Integration Generation (#90)

* Added prisma client to server code

* Add DatabaseSchema to INCLUDE_FUNC

* Update functions to be async and add database schema documentation

* Add DatabaseSchema and DatabaseTables to ApiRouteSpec

* Updated dev prompts for db

* Update profile management descriptions

* Update route function definition to be async

* Remove logging of database schema

* Add Prisma schema file generation

* Refactor benchmark and agent modules

* Refactor code and comment out debug statements

* formatting

* Add available_functions to develop_route

* Update prisma import and method calls

* loading all related tables

* Refactor create_prisma_scheama_file function to handle cases with no database schema

* Fix async function call in packager.py

* Fix database table query in packager.py

* Fix database access and unnecessary imports

* review comments

* [AGPT-508] Enum support for Codex - Generation Logic Layer (#102)

Co-authored-by: majdyz <[email protected]>

* Add Enum Generation to Requriements (#101)

* Added prisma client to server code

* Add DatabaseSchema to INCLUDE_FUNC

* Update functions to be async and add database schema documentation

* Add DatabaseSchema and DatabaseTables to ApiRouteSpec

* Updated dev prompts for db

* Update profile management descriptions

* Update route function definition to be async

* Remove logging of database schema

* Add Prisma schema file generation

* Refactor benchmark and agent modules

* Refactor code and comment out debug statements

* formatting

* Add available_functions to develop_route

* Update prisma import and method calls

* loading all related tables

* Refactor create_prisma_scheama_file function to handle cases with no database schema

* Fix async function call in packager.py

* Fix database table query in packager.py

* Fix database access and unnecessary imports

* feat: add enums to the database gen

* fix: formatting

* Updated to new schema

* update hardcoded requirements

* fix: objectType generation without type bool

* Add database enum import statement

* removed unused var as failing lint check

---------

Co-authored-by: SwiftyOS <[email protected]>

* More Linting Issues Fixes (#99)

* fix: more linting issues

* Remove error log for async functions

* Fix return_type default value in FunctionDef class

* Added another validation check

---------

Co-authored-by: Swifty <[email protected]>

* [AGPT-463] Add code generation validation using Ruff (#103)

---------

Co-authored-by: majdyz <[email protected]>

---------

Co-authored-by: majdyz <[email protected]>
Co-authored-by: majdyz <[email protected]>
Co-authored-by: Zamil Majdy <[email protected]>
Co-authored-by: Nicholas Tindle <[email protected]>
2024-03-13 15:55:04 +01:00
SwiftyOS 4efade2fd7 Fix all linting issues 2024-03-04 14:23:42 +01:00
SwiftyOS 4a662d6125 Update ruff config 2024-03-04 14:14:03 +01:00
SwiftyOS 46fee24e06 Refactor code for generating requirements.txt and fixing game reset bug 2024-03-04 12:54:39 +01:00
SwiftyOS 5a264491f2 Added pipreqs as an additonal requiremetns layer 2024-03-04 12:22:24 +01:00
SwiftyOS 1dcc572480 Remove unused import statement 2024-03-01 14:57:11 +01:00
SwiftyOS f79dec1457 Merge remote-tracking branch 'origin/main' into zamilmajdy/agpt-432-function-generation-is-applying-strict-check-on-args-and 2024-03-01 14:46:58 +01:00
SwiftyOS c54449f00a Fix formatting in routes.py 2024-03-01 12:06:39 +01:00
SwiftyOS 94935c0b6c Add RootFunction to deployment creation 2024-03-01 11:55:17 +01:00
Nicholas Tindle 142266cdb5 Merge branch 'main' into ntindle/agpt-400-update-post-spec-to-schedule-a-background-task-for 2024-02-29 14:18:13 -06:00
SwiftyOS 11886749fe move create server code to compile 2024-02-29 15:36:21 +01:00
Nicholas Tindle a17b286ed5 feat: in progress 2024-02-28 16:34:40 -06:00
SwiftyOS 64e731a2be Fix string formatting in api_route_name variable 2024-02-28 16:45:09 +01:00
SwiftyOS 1e9fefcb09 Add unique identifier to API route names 2024-02-28 15:41:35 +01:00
SwiftyOS 5d688b91c1 Refactor route function name in agent.py 2024-02-28 12:43:41 +01:00
majdyz ad979a1cd9 Propagate DB changes, Fix broken APIs, Add more API tests 2024-02-27 22:14:47 +04:00
SwiftyOS db72406b3f Fix formatting and add README.md file 2024-02-23 13:27:30 +01:00
Swiftyos d2c90b7075 style fixes by ruff 2024-02-23 12:11:15 +00:00
SwiftyOS b5fb1e18fa Fix typo in parameter name in agent.py and routes.py 2024-02-23 13:10:50 +01:00
SwiftyOS 7fa5b97e73 Refactor code and fix bugs 2024-02-23 12:50:43 +01:00
SwiftyOS 4dc61fd106 Fix import typo and add new files 2024-02-22 15:43:29 +01:00
Nicholas Tindle b43385a43b fix: generation error accessing .value 2024-02-21 22:13:20 -06:00
SwiftyOS 8ad025bb63 Add import for io module and handle streaming response for zip files 2024-02-21 15:09:53 +01:00
SwiftyOS 382f358cb1 Add return_type field to CompiledRoute model 2024-02-21 15:09:53 +01:00