Commit Graph

5432 Commits (9e22409d6614c373c7c28e85eb80e474886c68e2)

Author SHA1 Message Date
Krzysztof Czerwinski 9e22409d66
feat(agent_builder): Add block input fields description tooltip (#7437)
- Renamed `Schema` to `BlockSchema` and moved to `lib/types.ts`
- Add `SchemaTooltip` component that renders markdown tooltip for node fields
- Add `SecretField` function (which uses `BlockSecret` as value) that replaces `BlockFieldSecret` functionality for models
- Rename `get` to `get_secret_value` to make name clearer and inline with pydantic `Secret` types
- Add shadcn tooltip
- Add `react-markdown` dependency
2024-07-17 10:54:43 +01:00
Zamil Majdy e7c075a521
feat(doc): Remove excessive docs for AutoGPT server (#7457) 2024-07-17 14:22:13 +07:00
Krzysztof Czerwinski 555e113706
feat(agent_builder, agent_server): Add customizable placeholders for input fields (#7451)
- Add `SchemaField` that works like Pydantic `Field` but allows to add extra json schema values. This PR adds `placeholder` entry but it could be extended with other data.
- Render `placeholder` inside input fields if available.
- Restyle placeholders so they are visually distinct from user-entered values
2024-07-16 20:08:43 +01:00
Bently 420e6cae2f
feat(autogpt_builder): Fix Read API base URL from `.env` (#7455) 2024-07-16 16:28:24 +01:00
Toran Bruce Richards 920f931a21
feat(blocks): Add summariser block for recursive text summarization functionality (#7431)
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2024-07-16 17:51:37 +07:00
Toran Bruce Richards e874318832
feat(blocks): Add WebSearch & WebScrapper block for searching the web with Jina Reader (#7445)
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2024-07-16 15:32:23 +07:00
Toran Bruce Richards cb4b96a70c
feat(server): Add DictionaryLookup block for looking up values in a dictionary (#7427)
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2024-07-16 15:23:12 +07:00
Toran Bruce Richards 03ea4c2690
fix(server): Fix bug in time comparison logic in RedditGetPostsBlock (#7426)
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2024-07-16 14:35:51 +07:00
Zamil Majdy e70e613f73
feat(rnd): Refactor Block testing infra and Add Block auto-generation graph usecase (#7405)
### Background

The main scope of this change is enhancing the system capability (by fixing bug, correcting execution behaviour) to allow for creating a graph with a loop, to allow the use case of block auto-generation agent.

### Changes 🏗️

* Main changes: Add block_autogen.py (block auto-generation agent graph example).
* Refactor on test boilerplate: introduced `util/test` for initiating a server, and waiting graph execution.
* Removing unnecessary db lookup and duplicated codes used for sending execution updates on agent executor.
* Removed redundant code on test and cli code.
* Moved block test execution helper into the main code (so blockinstallerblock can use it).
* Eliminate the need of explicitly add a module into the `AVAILABLE_BLOCKS` list, any block class under the `block` folder will be auto-discovered.
* Few patches on the existing blocks.
2024-07-15 21:41:18 -05:00
Toran Bruce Richards 854f6dcaec
Update README.md 2024-07-15 22:31:30 +01:00
Toran Bruce Richards ea5ba9d193
Update README.md 2024-07-15 22:31:19 +01:00
Toran Bruce Richards da14957fce
Update README.md 2024-07-15 22:29:03 +01:00
Toran Bruce Richards 629f575dde
Delete rnd/AutoGPT Server Setup Tutorial.mp4 (#7452) 2024-07-15 22:18:49 +01:00
Toran Bruce Richards 8883d7db53
Create README.md in rnd folder 2024-07-15 22:17:37 +01:00
Toran Bruce Richards a6063e1550
Add files via upload 2024-07-15 22:06:57 +01:00
Toran Bruce Richards e311847fa8
Update autogpt_server README.md 2024-07-15 20:26:44 +01:00
Bently d673bf741a
feat(autogpt_builder): Add websocket support to replace polling (#7449)
feat(autogpt_builder): Add websocket support
2024-07-15 20:18:23 +01:00
Swifty 110e093e7b
feat(autogpt_server, autogpt_builder): Add Agent Versioning & Templates functionality (#7376)
1. Add graph versioning functionality:
   - Add `version`, `isActive` fields in the `AgentGraph` model
      - Add `agentGraphVersion` field in related models
   - Amend & add API endpoints for graph versioning (see below)
      - Amend & add data layer functions (`autogpt_server.data`) to support new operations & data schema

2. Add graph template functionality:
   - Add `isTemplate` fields in the `AgentGraph` model
   - Add `GraphMeta` model for template/graph metadata
   - Add API endpoints for template management (see below)
      - Amend & add data layer functions (`autogpt_server.data`) to support new operations & data schema

3. Enhance graph creation:
   - Amended `create_graph` route to handle template-based graph creation

4. Code refactoring:
   - Improved import statements
   - Enhanced error handling in graph creation

5. Minor improvements:
   - Add validator to auto-assign `Graph.id` if not set

## API Changes

New endpoints:
- `GET /templates`: Retrieve all templates (metadata only)
- `POST /templates`: Create a new template
- `PUT /graphs/{graph_id}`: Create a new version of a graph
- `GET /templates/{graph_id}`: Get a specific template
- `PUT /templates/{graph_id}`: Create a new version of a graph template
- `GET /graphs/{graph_id}/versions`: Get all versions of a graph
- `GET /templates/{graph_id}/versions`: Get all versions of a graph template
- `GET /graphs/{graph_id}/versions/{version}`: Get a specific graph version
- `PUT /graphs/{graph_id}/versions/active`: Set active graph version

Modified endpoints:
- `POST /graphs`: Now supports creating graphs directly from templates
- `GET /graphs/{graph_id}`: Add `version` query parameter
- `GET /graphs/{graph_id}/executions`: Add `graph_version` query parameters

## UI changes
- Improve `/build` / `FlowEditor` save mechanism
   - Implement updating current agent instead of creating a new agent on every save
   - Add check to only save a new version if local graph has been edited
      - Add `deepEquals` function to lib/utils.ts
- Add version indicators and selector on `/monitor`
  ![image](https://github.com/user-attachments/assets/742a66ee-4d12-4129-981d-fa6399e717fa)
   - Add shad/cn `DropdownMenu` component
- Update `AutoGPTServerAPI` client
   - Update input/output types with added attributes (see above)
   - Add parameter `version` to `getFlow`
   - Add parameter `flowVersion?` to `listFlowRunIDs`
   - Add endpoint `updateFlow(flowID, FlowUpdateable)`
   - Add endpoint `createFlow(fromTemplateID, templateVersion)` (overload)
   - Add endpoint `getFlowAllVersions(id)`
   - Add endpoint `setFlowActiveVersion(flowID, version)`
2024-07-15 20:26:00 +02:00
Toran Bruce Richards 93b6e0ee51
feat(blocks): Add support for additional LLM providers to LLM Block (#7434)
This commit adds support for the following models:

```python
# OpenAI Models
GPT4O = "gpt-4o"
GPT4_TURBO = "gpt-4-turbo"
GPT3_5_TURBO = "gpt-3.5-turbo"

# Anthropic models
CLAUDE_3_5_SONNET = "claude-3-5-sonnet-20240620"
CLAUDE_3_HAIKU = "claude-3-haiku-20240307"

# Groq models
LLAMA3_8B = "llama3-8b-8192"
LLAMA3_70B = "llama3-70b-8192"
MIXTRAL_8X7B = "mixtral-8x7b-32768"
GEMMA_7B = "gemma-7b-it"
GEMMA2_9B = "gemma2-9b-it"
```

Every model has been tested with a single LLM block and is confirmed to be working in that setup.
2024-07-15 20:30:56 +07:00
Bently 450f120510
feat(autogpt_builder): Fixes to wikipedia block (#7435) 2024-07-15 11:10:16 +07:00
Bently 2355d56801
feat(Builder): Updates to Nodes UI (#7414)
Updates to Nodes UI
2024-07-14 13:52:57 +01:00
Toran Bruce Richards d3dae2264d
tweak(docs): Replace all instances of "Node" with "Block". (#7416)
Replace all instances of "Node" with "Block" in the doccumentation.
2024-07-13 22:04:24 +01:00
Toran Bruce Richards 58313d9ae7
tweak(docs): Make link to The AutoGPT Server more prominant in docs navbar. (#7402) 2024-07-13 21:48:51 +01:00
Toran Bruce Richards 9e7dd4be74
tweak(rnd): Update AutoGPT logo file to be larger (#7408) 2024-07-13 21:08:09 +01:00
Krzysztof Czerwinski 6550bdc10c
feat(rnd): AutoGPT Agent wrapper for Agent Server (#7365)
- Add `autogpt` and `forge` dependency to the `autogpt_server`
- Add `AutoGPTAgentBlock` that initializes and runs a single agent loop on execution
- Add `BlockAgent` that inherits from `autogpt` `Agent` and is a thin extension on the agent that allows to disable components
- Add `OutputComponent` that adds `output` command for the agent
2024-07-13 19:47:29 +01:00
Nicholas Tindle 0b9f3be6b8
feat(docs): add server new node docs (#7395)
Co-authored-by: Bently <27962737+Bentlybro@users.noreply.github.com>
2024-07-12 08:59:35 -05:00
Reinier van der Leer a2d8d9bac9
feat(autogpt_builder/monitor): Monitor page v0.2 (#7385)
- Improve responsive grid layout
  - Remove `container` class from `<main>` to utilize full screen width

- Improve detail views & add view for run details
  - Make flow run list entries selectable
  - Create `FlowInfo` and `FlowRunInfo` components
  - Improve layout of `FlowRunsStats`

- Improve ScrollableLegend spacing & styling
  - Hide scroll bar of scrollable legend
  - Center legend items if there is space left
  - Round icons
  - Vertically align icons with labels
  - FIX: Add condition to not display legend items for series with `legendType="none"`

- Add periodic 5s refresh of non-terminal flow run statuses
  - Split off `refreshFlowRuns(flowID)` from `fetchFlowsAndRuns()`
  - Add effect to run `refreshFlowRuns` every 5 seconds

- Improve and expand FlowRun info
  - Add `FlowRun.totalRunTime`: sum of the individual execution durations of all nodes
  - Add `FlowRun.endTime`
  - Use `NodeExecutionResult.add_time` instead of `start_time` as `FlowRun.startTime`

- Sort Flows by last executed

- Add icons to navbar items & hide unused items Backtrack and Explore

- Change UI mentions of "(Agent) Flow" to "Agent"
2024-07-12 14:56:48 +02:00
Bently b7096e01fb
feat(Builder): Adds node to send messages to discord webhook (#7381)
* Adds core files for discord node

* fix naming

* Rename DiscordSendMessage.py to discordsendmessage.py

* update naming again

* fix conflicts

* fix imports
2024-07-12 11:58:11 +01:00
Krzysztof Czerwinski bffb92bfbc
fix(agent, forge): Fix Pydantic v2 protected namespace `model_` warnings (#7340)
Rename `model_*` fields to `llm_*`
2024-07-12 12:05:03 +02:00
Bently 2ecce27653
feat(Builder): Adds node to get summary from wikipedia (#7384)
* adds node to get summary from wikipedia

* update name

* Fix naming again
2024-07-12 09:51:56 +01:00
Zamil Majdy 1089551869
feat(builder): Add service-level creds access for agent blocks (#7373)
### Background

Credentials for blocks could only be defined through the block input. The scope of this change is providing system-wide that becomes the default value for these input blocks.

### Changes 🏗️

* Add system-wide credential support for agent blocks `BlockFieldSecret`.
* Update llmcall & reddit block to adopt `BlockFieldSecret`.
2024-07-12 15:41:55 +07:00
Aarushi 58af7f9466
feat(autogpt_builder) Remove saving of execution data into sink node (#7383)
remove saving of execution data into sink node
2024-07-12 01:44:11 +02:00
Aarushi b89609fd16
feat(autogpt_builder) Add logic for node disconnection (#7386)
add logic for node disconnection
2024-07-11 23:33:21 +01:00
Reinier van der Leer dcfc3a4dad
fix(autogpt_builder): Restore node input presets when loading a flow (#7379)
- Assign `node.input_default` to `hardcodedValues` in `FlowEditor:loadFlow(..)`
2024-07-11 18:37:04 +01:00
Nicholas Tindle 7cf6d3ff79
feat(dx): add a code-workspace for vscode (#7285)
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2024-07-11 19:24:35 +02:00
Toran Bruce Richards f4f164ac15
chore(rnd): Update animation direction for customnode.css to "ping-pong" (#7377) 2024-07-11 16:09:02 +01:00
Bently cd9d041fe5
feat(builder): add button for showing/hiding optional inputs (#7375)
add button for showing/hiding optional inputs in nodes
2024-07-11 15:14:07 +01:00
Bently 0fb8a84382
fix to make monitor use env (#7371)
fix to make it use env
2024-07-10 17:18:59 +01:00
Aarushi a408da8317
aarushikansal/flow stats scroll legend (#7370)
* feat(agent_builder): Add shad/cn + Radix Icons + Tailwind

* move favicon.ico to static folder

* delete empty custominput.css

* feat(agent_builder): Add basic app layout with nav

* add timeline chart to Monitor page and improve overall mock-up functionality

* add some (mock) stats to the overview

* monitor/page.tsx: Switch from mock data to API & reorder file

* undo out-of-scope changes to Flow.tsx and .css files

* fix linting issue in `FlowRunsTimeline`

* wip scrollable

---------

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
Co-authored-by: Swifty <craigswift13@gmail.com>
2024-07-10 18:07:07 +02:00
Reinier van der Leer 976ff04cce
feat(autogpt_builder): Initial Monitor page implementation (#7335)
* feat(agent_builder): Add shad/cn + Radix Icons + Tailwind

* move favicon.ico to static folder

* delete empty custominput.css

* feat(agent_builder): Add basic app layout with nav

* add timeline chart to Monitor page and improve overall mock-up functionality

* add some (mock) stats to the overview

* monitor/page.tsx: Switch from mock data to API & reorder file

* undo out-of-scope changes to Flow.tsx and .css files

* fix linting issue in `FlowRunsTimeline`

---------

Co-authored-by: Aarushi <aarushik93@gmail.com>
Co-authored-by: Swifty <craigswift13@gmail.com>
2024-07-10 18:04:51 +02:00
Swifty 3c91038089
tweak(ui): Switch from modal.css to tailwindcss classes (#7369)
* 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

* Changed to tailwind classes

---------

Co-authored-by: Bentlybro <tomnoon9@gmail.com>
2024-07-10 18:04:02 +02:00
Swifty d4b441932d
tweak(ui): Tweaked light mode color (#7366)
* 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>
2024-07-10 18:02:06 +02:00
Bently 14ddb915bf
feat(autogpt_builder): swapping to white theme for the layout (#7358)
* 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
2024-07-10 18:01:07 +02:00
Aarushi d6cbb48609
feat(agpt_builder) Fix data persistance on agent execution (#7363)
* fixing issue with data vanishing when executing agent

* fix rebasing

* add unique key

* reset to neutral & failed colours
2024-07-10 12:47:55 +01:00
Swifty 3789b00479
feat(autogpt_server): Expose rest api via websocket (#7350)
* Add in websocket event types

* adding in api endpoints

* Updated ws messages
2024-07-10 10:54:18 +01:00
Swifty f94e81f48b
feat(builder) Add save Agent functionality (#7361)
Add save functionality
2024-07-10 10:01:12 +01:00
Zamil Majdy e10c4ee4cd
fix(doc): Fix Auto GPT server Running The Server doc (#7360) 2024-07-10 10:31:52 +02:00
Reinier van der Leer 81dee568cb
feat(autogpt_builder): Add basic layout with nav (#7317)
* feat(agent_builder): Add shad/cn + Radix Icons + Tailwind

* move favicon.ico to static folder

* delete empty custominput.css

* feat(agent_builder): Add basic app layout with nav

* Revert unwanted changes

* Fix /build + Flow layout issues

- Add `className` passthrough to `Flow` component
- Fix /build page layout

* unfix build/page.tsx indentation for git tracking

---------

Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com>
2024-07-09 17:33:12 +01:00
Bently 7929f1a4ac
Reads data from .env (#7357) 2024-07-09 17:20:31 +01:00
Bently 0a28c72bad
Fix issue with node inputs (#7356) 2024-07-09 16:21:13 +01:00