Commit Graph

4053 Commits (252d2fead10e3df1a02f6100f75ecb6b66380193)

Author SHA1 Message Date
SwiftyOS 252d2fead1 removed create new agent script 2023-09-15 15:37:02 +02:00
SwiftyOS 43f6ff6d28 Added cli usage doc 2023-09-15 15:36:18 +02:00
SwiftyOS 74c46bae7a Added cli tool for setting up and running the project 2023-09-15 15:14:06 +02:00
merwanehamadi 19e4af4ce7
Add integrations to the forge (#5220)
Create README.md
2023-09-15 06:04:36 -07:00
SwiftyOS 1a78150b60 added igonoring of reports folder 2023-09-15 13:38:41 +02:00
SwiftyOS d85b196952 Fixed import error 2023-09-15 13:37:09 +02:00
SwiftyOS 89862289e2 deleted unused files 2023-09-15 10:46:24 +02:00
SwiftyOS 5f95920d66 Added ascii art 2023-09-15 10:41:05 +02:00
SwiftyOS dce7636798 Updated run script 2023-09-15 10:21:44 +02:00
Reinier van der Leer 42bc3af109
Add pyproject file to autogpt.core 2023-09-15 05:44:39 +02:00
Reinier van der Leer b21d68a8ab
Migrate AutoGPT agent to poetry (#5219)
Inspired by #1102

* Migrate AutoGPT agent to poetry

  Co-authored-by: rickythefox <richard@ginzburg.se>

* Rewrite automatic dependency check (check_requirements.py) for poetry

* Sort dependencies

* Add instructions for poetry to README
2023-09-15 05:18:44 +02:00
hunteraraujo f3a112fca3 Integrate BenchmarkService into main.dart with Provider
This commit integrates the `BenchmarkService` into the main application setup through the `MultiProvider` in `main.dart`. The changes include:

1. Adding `BenchmarkService` to the list of service providers, allowing it to be accessible throughout the application via dependency injection.

2. Using `ProxyProvider` to ensure `BenchmarkService` gets the `RestApiUtility` instance as a dependency.

3. Modifying the `MyApp` class to fetch the `BenchmarkService` from the provider, making it ready for use in the application's lifecycle.

This addition allows `BenchmarkService` to be centrally managed and readily available for any part of the application that requires benchmark-related functionalities.
2023-09-14 20:12:58 -07:00
hunteraraujo 5ac4b38bda Extend RestApiUtility to Support Multiple Base URLs via ApiType Enum
This commit enhances the `RestApiUtility` class to support multiple base URLs by incorporating an `ApiType` enum parameter in its methods. The changes include:

1. `_agentBaseUrl`: The base URL for the agent-related API calls.
2. `_benchmarkBaseUrl`: A hard-coded base URL for benchmark-related API calls.
3. `_getEffectiveBaseUrl`: A new private method that determines the effective base URL based on the given `ApiType`.

All public methods (`get`, `post`, `getBinary`) have been updated to include an optional `ApiType` parameter, which defaults to `ApiType.agent`. Based on this parameter, `_getEffectiveBaseUrl` is called to decide the base URL for the HTTP request.

This change allows for flexible API calls without the need to instantiate multiple `RestApiUtility` objects for different services.
2023-09-14 20:09:30 -07:00
hunteraraujo a97e0dbe62 Integrate BenchmarkService into SkillTreeViewModel with Incomplete Methods
This commit extends the `SkillTreeViewModel` to include `BenchmarkService` as a dependency. This integration allows for leveraging benchmark-related API calls within the skill tree logic.

Two new methods have been added to `SkillTreeViewModel`:

1. `callGenerateReport`: This method attempts to call the `generateReport` function from the `BenchmarkService`. Currently, it only prints the API response and is incomplete in terms of full functionality.

2. `callPollUpdates`: Similar to `callGenerateReport`, this method aims to call `pollUpdates` from `BenchmarkService` and prints the API response. This is also incomplete and will require further development.

Both methods are preliminary and will require additional features to become fully functional.
2023-09-14 20:07:18 -07:00
hunteraraujo 16efb96409 Implement BenchmarkService with generateReport and pollUpdates methods
This commit introduces the `BenchmarkService` class, which encapsulates API calls related to benchmarking operations. The class includes two methods:

1. `generateReport`: Takes a `ReportRequestBody` object as input and performs a POST request to the `/reports` URL, serializing the object to JSON format.
2. `pollUpdates`: Accepts a UNIX UTC timestamp as an argument and performs a GET request to the `/updates?last_update_time=<timestamp>` URL.

Both methods use the `RestApiUtility` for making HTTP requests and are designed to work with different base URLs, controlled by the `ApiType` enum.
2023-09-14 20:04:44 -07:00
hunteraraujo 595a892f71 Introduce ApiType enum for API selection
This commit adds a new enum, `ApiType`, to allow dynamic selection between different base URLs for API calls. The enum has two values: `agent` and `benchmark`, corresponding to different services.

The `ApiType` enum is designed to be passed as a parameter to the `RestApiUtility` methods, enabling the utility to decide which base URL to use for HTTP requests.
2023-09-14 20:02:36 -07:00
hunteraraujo 8e25cd2391 Add ReportRequestBody model with JSON serialization
This commit introduces a new Dart class, `ReportRequestBody`, which represents the request body for generating reports in the `BenchmarkService`. The class includes a `toJson` method for easy serialization to JSON format.

- `category`: Specifies the category of the report (e.g., "coding").
- `tests`: A list of tests to be included in the report.
2023-09-14 20:01:05 -07:00
merwanehamadi a1284336ba
Autogpts ci unified for the hackathon (#5218)
AutoGPTs CI parametrized
2023-09-14 09:11:45 -07:00
merwanehamadi 35e0184ca9
AutoGPTs CI (#5216)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-14 08:29:04 -07:00
SwiftyOS 0ee7209c2b Updating forge instructions and fixing version conflict 2023-09-14 17:00:48 +02:00
SwiftyOS 9e6ebf38c7 Updated readme 2023-09-14 16:43:19 +02:00
SwiftyOS 0782aad3bf Added create agent script 2023-09-14 16:36:21 +02:00
merwanehamadi 840d6f6330
Update frontend readme (#5215) 2023-09-14 07:31:52 -07:00
SwiftyOS 5a2833ffb8 moved forge into autogpts 2023-09-14 15:53:55 +02:00
Silen Naihin e31bf9081f
moving paper related data (#5212) 2023-09-13 21:09:20 -07:00
merwanehamadi 6342a77037
Fix SDK client (#5214) 2023-09-13 20:25:58 -07:00
merwanehamadi 4bb86c0cb5
Support agent protocol in benchmark (#5213)
Benchmark/Forge/Agent Protocol
2023-09-13 18:50:39 -07:00
hunteraraujo 3bba27dd3c Integrate JSON-based Skill Tree Initialization in ViewModel
This commit substantially upgrades the SkillTreeViewModel by incorporating asynchronous initialization from a JSON asset. Now, both nodes and edges of the skill tree are dynamically generated based on the JSON data. This not only enhances the modularity of the code but also simplifies the process of updating or modifying the skill tree.

Other improvements include:
- Changed node IDs from integers to strings for better flexibility.
- Added a function to get a node by its ID, improving code reusability.
- Introduced error handling for potential issues during JSON parsing or node retrieval.
- Updated the sibling, level, and subtree separation configurations for the graph view layout.

These changes make the skill tree more dynamic and maintainable, setting the stage for future extensions.
2023-09-13 17:53:24 -07:00
hunteraraujo a7bb335752 Enhance SkillTreeView with Asynchronous Initialization and Node Mapping
This commit refactors the SkillTreeView class to include asynchronous initialization through FutureBuilder. The new version also replaces the integer-based node IDs with string-based IDs, aligning better with the SkillTreeNode model. The code now clears previous graph nodes and edges before adding new ones, preventing duplication. Additionally, the TreeNodeView component is now populated dynamically with data from the SkillTreeNode model, making the tree view more robust and integrated.
2023-09-13 17:50:53 -07:00
hunteraraujo 01b2892775 Remove comments 2023-09-13 17:47:17 -07:00
hunteraraujo 876fe5a590 Refactor TreeNodeView to Use Stateful Widget and Add Interactivity
This commit updates the TreeNodeView class from a stateless widget to a stateful widget to handle hover interactions. The new version also replaces the old simple text-based representation with a more interactive and visually appealing design that includes icons and hover effects. The SkillTreeNode model is now used to populate the node information, making the TreeNodeView more dynamic and integrated with the rest of the application.
2023-09-13 17:43:32 -07:00
hunteraraujo b58894ef33 Update TaskQueueView to display node label + description 2023-09-13 17:37:03 -07:00
hunteraraujo 30934f400a Enhance SkillTreeNode Model to Include Additional Attributes
This commit extends the SkillTreeNode class to incorporate new attributes such as 'data', 'label', and 'shape', making the model more comprehensive. The JSON deserialization is also updated to handle optional or missing fields by providing default values, improving the robustness of the model.
2023-09-13 17:32:23 -07:00
hunteraraujo 774ccc4ed2 Refactor SkillNodeData model for robust JSON deserialization
This commit updates the SkillNodeData class to handle optional or missing JSON fields more robustly. Now, the model provides default values for each field, ensuring that the object can be instantiated successfully even if some JSON fields are missing or set to null.
2023-09-13 17:31:00 -07:00
hunteraraujo 3c35cab55e Enhance Info model to handle optional JSON fields gracefully
This commit updates the Info class to provide default values for optional or missing fields in the JSON payload. This ensures that the model can be successfully instantiated even when some JSON fields are absent or set to null.
2023-09-13 17:30:41 -07:00
hunteraraujo 5e2e7a11c3 Update Ground model to handle optional JSON fields
This commit modifies the Ground class to make it more robust against optional or missing fields in the incoming JSON data. Default values have been added to ensure that the model can be instantiated even if some JSON fields are missing or set to null.
2023-09-13 17:29:05 -07:00
hunteraraujo 63b235e7ce Add initial skill tree structure JSON
This commit adds the tree_structure.json file to the assets directory, which contains the initial skill tree structure. This JSON file will serve as the data source for rendering the skill tree nodes and edges in the application.
2023-09-13 17:25:11 -07:00
SwiftyOS 839e045da4 Removed makefile and pyproject 2023-09-13 16:51:58 +02:00
merwanehamadi 144d159695
Add config (#5210)
* Fix API Mode

* Change config forge
2023-09-13 07:37:14 -07:00
merwanehamadi 52c8b53122
Fix API Mode (#5209) 2023-09-13 07:30:46 -07:00
Luke d319473e3c
Fix TestUrlShortener to prevent conflicting test.py file and clarify instructions (#5177) 2023-09-13 06:11:40 -07:00
SwiftyOS ed172dec19 fixed datetime and changed benchmark defaults for autogpt 2023-09-13 13:47:26 +02:00
SwiftyOS ab26c07296 changes the file_logger.txt to .log 2023-09-13 12:19:26 +02:00
SwiftyOS 9eb01d85a3 fixed multiple report folder bug 2023-09-13 12:18:04 +02:00
SwiftyOS d44a4f591d Added ability to keep answers 2023-09-13 11:56:31 +02:00
SwiftyOS bacd0e5e4e Added answers to the report 2023-09-13 10:40:55 +02:00
merwanehamadi b2fc8f2a06
Integrate benchmark and autogpt (#5208)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-12 19:30:45 -07:00
Silen Naihin 69dadee416 moving back license, removing unnecessary files 2023-09-12 14:56:33 -07:00
Silen Naihin 436823c2e7
Update README.md
change name of twitter quicklink
2023-09-12 14:51:01 -07:00
hunteraraujo 314cce75b5
Integrate TaskQueueView and Enhance SkillTree Functionality (#5206)
* Add TestQueueView to Main Layout

This commit integrates the TestQueueView into the main layout. The layout now conditionally displays the TestQueueView based on whether a node in the SkillTree is selected.

- TestQueueView appears when a SkillTree node is selected.
- Main layout adjusts to accommodate TestQueueView alongside SkillTreeView and ChatView.
- Implemented responsive layout logic to manage the widths of the different views based on the screen width and the state of the SkillTree.

* Extend SkillTreeViewModel to Track Selected Node Hierarchy

This commit enhances the SkillTreeViewModel to maintain a list of nodes that form a hierarchy from the currently selected node to the root. This allows for more interactive and informative views that can leverage this hierarchical data.

- Added a new property `selectedNodeHierarchy` to keep track of the node hierarchy.
- Modified the `toggleNodeSelection` method to populate or clear `selectedNodeHierarchy` based on node selection.
- Introduced a new method `populateSelectedNodeHierarchy` to build the hierarchy from the selected node to the root.

* Extract skill tree view model reset state to method

* Implement UI enhancements for TaskQueueView

This commit introduces several UI improvements to the TaskQueueView:
- Tiles are padded 20 units from both the leading and trailing edges.
- Tiles now have a white background.
- Added a thin black border to the tiles.
- Incorporated a slight corner radius for the tiles.
- Centered the title and subtitle horizontally within the tiles.
- Added a checkmark button with a tooltip at the bottom-right corner for running a suite of tests.

These changes aim to improve the user experience and visual appeal of the TaskQueueView.

* Make MainLayout a consumer of SkillTreeViewModel
2023-09-12 14:01:32 -07:00