* reverts dark theme for now
* change "Show/Hide nodes" button to be "Icon"
* swap over to light mode + fix sizing
* fix color for agent name + description text
* Change navbar to white
* Added darkmode tag for the navbar
* Added dark mode text color
---------
Co-authored-by: Bentlybro <tomnoon9@gmail.com>
* reverts dark theme for now
* change "Show/Hide nodes" button to be "Icon"
* swap over to light mode + fix sizing
* fix color for agent name + description text
* update icon
Sample test input and output on the block can serve as documentation and auto-generated unit-testing code for the agent block.
What's within the scope of this change:
Adding the fields for block test (input, output, mocks), and its execution.
What's still outside the scope:
Handling of mock and stub for a block using sensitive credentials or network calls or 3rd-party connections.
* Refactor on the link structure and API
* Refactor on the link structure and API
* Cleanup IDS
* Remove run_id
* Update block interface
* Added websockets dependency
* Adding routes
* Adding in websocket code
* Added cli to test the websocket
* Added an outline of the message formats I plan on using
* Added webscoket message types
* Updated poetry lock
* Adding subscription logic
* Updating subscription mechanisms
* update cli
* Send updates to server
* Get single execution data
* Fix type hints and renamed function
* add callback function and type hints
* fix type hints
* Updated manager to use property
* Added in websocket updates
* Added connection manager tests
* Added tests for ws_api
* trying to work around process issues
* test formatting
* Added a create and execute command for the cli
* Updated send format
* websockets command working
* cli update
* Added model.py
* feat: Update server.py and manager.py
- Initialize blocks in AgentServer lifespan context
- Remove unnecessary await in AgentServer get_graph_blocks
- Fix type hinting in manager.py
- Validate input data in validate_exec function
* fix tests
* feat: Add autogpt_server.blocks.sample and autogpt_server.blocks.text modules
This commit adds the `autogpt_server.blocks.sample` and `autogpt_server.blocks.text` modules to the project. These modules contain blocks that are used in the execution of the Autogpt server. The `ParrotBlock` and `PrintingBlock` classes are imported from `autogpt_server.blocks.sample`, while the `TextFormatterBlock` class is imported from `autogpt_server.blocks.text`. This addition enhances the functionality of the server by providing additional blocks for text processing and sample operations.
* fixed circular import issue
* Update readme
---------
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
* feat(autogpt_builder): Add `AutoGPTServerAPI` client
* migrate API calls in Flow.tsx to new API client
* feat(autogpt_server): Add `/graphs/{graph_id}/executions` endpoint
In `data/execution.py`:
- Add `list_executions` function
- Rename `get_executions` to `get_execution_results`
In `server/server.py`:
- Add route
- Add `AgentServer.list_graph_runs`
- Rename `AgentServer.get_executions` to `get_run_execution_results`
* feat(autogpt_builder): Add `listFlowRunIDs` endpoint to `AutoGPTServerAPI` client
* Move `Schema` to `types.ts` and rename to `ObjectSchema`
* feat(rnd): Add type hint and strong pydantic type validation for block input/output + add reddit agent-blocks.
* feat(rnd): Add type hint and strong pydantic type validation for block input/output + add reddit agent-blocks.
* Fix reddit block
* Fix serialization
* Eliminate deprecated class property
* Remove RedditCredentialsBlock
* Cache jsonschema computation, add dictionary construction
* Add dict_split and list_split to output, add more blocks
* Add objc_split for completeness, int both input and output
* Update reddit block
* Add reddit test (untested)
* Resolved json issue on pydantic
* Add creds check on client
* Add dict <--> pydantic object flexibility
* Fix error retry
* Skip reddit test
* Code cleanup
* Chang prompt
* Make this work
* Fix linting
* Hide input_links and output_links from Node
* Add docs
* updating UI to handle deeply nested data structures for reddit usecase
* changing expected key in reddit post to comment
---------
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
* feat(rnd): Add type hint and strong pydantic type validation for block input/output + add reddit agent-blocks.
* feat(rnd): Add type hint and strong pydantic type validation for block input/output + add reddit agent-blocks.
* Fix reddit block
* Fix serialization
* Eliminate deprecated class property
* Remove RedditCredentialsBlock
* Cache jsonschema computation, add dictionary construction
* Add dict_split and list_split to output, add more blocks
* Add objc_split for completeness, int both input and output
* Update reddit block
* Add reddit test (untested)
* Resolved json issue on pydantic
* Add creds check on client
* Add dict <--> pydantic object flexibility
* Fix error retry
* Skip reddit test
* Code cleanup
* Chang prompt
* Make this work
* Fix linting
* Hide input_links and output_links from Node
* Add docs
---------
Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
- Add `google-api-python-client-stubs` dev dependency
- Add version specification to `google-api-python-client` dependency
- Fix type error (by ignoring it) in forge/components/web/search.py
Update Pydantic dependency of `autogpt`, `forge` and `benchmark` to `^2.7`
[Pydantic Migration Guide](https://docs.pydantic.dev/2.7/migration/)
- Migrate usages of now-deprecated functions to their replacements
- Update `Field` definitions
- Ellipsis `...` for required fields is deprecated
- `Field` no longer supports extra `kwargs`, replace use of this feature with field metadata
- Replace `Config` class for specifying model configuration with `model_config = ConfigDict(..)`
- Removed `ModelContainer` in `BaseAgent`, component configuration dict is now directly serialized using Pydantic v2 helper functions
- Forked `agent-protocol` and updated `packages/client/python` for Pydantic v2 support: https://github.com/Significant-Gravitas/agent-protocol
---------
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
- Implement message based history in `ActionHistoryComponent`
- Make non-summarized message count configurable (`ActionHistoryComponent.full_message_count`)
- Run `ActionHistoryComponent` after `SystemComponent` so that history messages are last in the prompt
- Omit final instruction message if prompt already contains assistant messages
- Filter `raw_message` from `ActionProposal.schema()`
---------
Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com>
* Create optional `build` dependency group
* Move `cx-freeze` dependency to `build` dependency group
To include the `build` group when installing dependencies, run `poetry install --with=build`.
Fixes#7297 (`cx-freeze` dependency install fails after #7271)
On AgentServer, To create a Block like StringFormatterBlock or LllmCallBlock, we need some way to dynamically link input pins and aggregate them into a single list input. This will give a better experience for the user to construct an input and link it from the output of the other nodes. The scope of this change is adding support for that in the least intrusive way.
Proposal
To differentiate the input list name and its singular entry we are using the $_<index> prefix. For example:
For the input items: list[int], you can set a pin items with values like [1,2,3,4]. But you can also add input pins like items_$_0 or items_$_4 with values 1 or 2, which will be appended to the items input in alphabetical order.
The execution engine will guarantee to wait for the execution until all the input pin value is produced, so input pin with list input will produce fix-sized list.
* Getting started with nextjs
* fix linting
* remove gitignore for package.json
* pulling in reactflow components
* updating css
* use environment variables
* clean up css / ui a lil
* Fixed nodes/run button animation
so they are always visible
---------
Co-authored-by: Bentlybro <tomnoon9@gmail.com>