forked from Significant-Gravitas/AutoGPT
6318 Commits (mem0)
Author | SHA1 | Message | Date |
---|---|---|---|
|
e419a1ec6e
|
fix: linting | |
|
80f31a4f72
|
feat: more block changes | |
|
5933adef3e
|
feat: increase timeout + mem0 trigger | |
|
e3634c9f24
|
fix: lint | |
|
0d0a9b0884
|
fix: pr review changes | |
|
103248667a
|
Update mem0.py | |
|
907c9b35d8
|
Update new_blocks.md | |
|
71f3ee1b88
|
Merge branch 'dev' into mem0 | |
|
7f1a04a320
|
feat: changes for testing | |
|
800625c952
|
fix(frontend): Change `/store*` url to `/marketplace*` (#9119)
We have branded it as "Marketplace", so the URL shouldn't be "store". ### Changes 🏗️ - Change frontend URLs from `/store*` to `/marketplace*` - No API route changes to minimize bugs (follow up: https://github.com/Significant-Gravitas/AutoGPT/issues/9118) |
|
|
56612f16cf
|
feat(platform): Linear integration (#9269)
<!-- Clearly explain the need for these changes: --> I want to be able to do stuff with linear automatically ### Changes 🏗️ - Adds all the backing details to add linear auth and API access with oauth (and prep for API key) <!-- Concisely describe all of the changes made in this pull request: --> ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> |
|
|
0d2bb46786
|
fix(frontend): Unbreak save button after save error (#9290)
- Resolves #9253 ### Changes 🏗️ - Update state when an error occurs on save, to re-enable the save button ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - Try to save an agent with missing required fields -> should give an error - Fill out the required fields and try saving again -> should work |
|
|
c61317e448
|
feat(platform): Create external API (#9272)
We want to allow external api calls against our platform We also want to keep it sep from internal platform calls for dev ex, security and scale seperation of concerns ### Changes 🏗️ This PR adds the required external routes It mounts the new routes on the same app Infra PR will seprate routing and domains ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
a137afc1b6
|
feat: working -- not all params tested | |
|
c572f7cc9f
|
feat: use v2 query -- untested | |
|
3c30783b14
|
docs(Ollama): Remove steps about adding ollama credentials (#9288)
Since ["feat: no longer require ollama key #9287"](https://github.com/Significant-Gravitas/AutoGPT/pull/9287) we no longer need the steps for adding ollama credentials so this removes them from the docs |
|
|
56b33327ab
|
feat(platform): Add billing portal entry point (#9264)
<img width="1445" alt="image" src="https://github.com/user-attachments/assets/5aeb7ee2-4d06-4a64-889b-599ad68c6dae" /> ### Changes 🏗️ Added an entry point to open the Stripe billing portal. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com> |
|
|
c36c239dd5
|
feat(backend): Add graph/node id & execution id on CreditTransaction table (#9217)
We need to be able to determine the cost of graph/node execution.
### Changes 🏗️
* Add these columns into CreditTransaction `metadata` column:
- graph_id
- node_id
- graph_exec_id
- node_exec_id
- block_id
* Drop the `blockId` column and backfill the dropped value into
metadata->>block_id.
* Frequent queries on these values will require an index created on
demand through a migration, depending on the use case.
---------
Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com>
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
|
|
|
3f971444f9
|
fix: remove other extra shown use credits providers | |
|
7a5fa7f8b3
|
fix: lock | |
|
fe5b4b2451
|
feat: document kwargs | |
|
78238998ad
|
fix: lint | |
|
e53f1eaf80
|
feat: no longer require ollama key (#9287)
<!-- Clearly explain the need for these changes: --> ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
ffee52a7f6
|
fix: mem0 add memory works -- kinda okay | |
|
6727dc299a
|
feat: add user_id segmenting to mem0 and executor | |
|
02e0b37521
|
feat: untested mem0 | |
|
04915f2db0
|
feat(platform): Implement top-up flow for PAYG System (#9050)
This PR adds Stripe integration and payment processing for topping-up user accounts with credits. ### Changes 🏗️ Includes: - https://github.com/Significant-Gravitas/AutoGPT/pull/9176 #### Top-up flow 1. To top-up a user visits their settings and clicks `Credits` button (it's unavailable if `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` isn't present) 2. User inputs top-up amount (min 5$ in 1$ increments) and click the button to confirm. 3. Backend receives top-up request, creates database entry and requests stripe to provide url for this specific checkout. 4. User gets redirected to externally hosted Stripe checkout page, after payment (or cancelling) they get redirected back to Credits page. 5. In the meantime Stripe processes payment and sends webhook confirmation to the backend, backend updates database to activate bought credits. 6. Credits page shows success (or failure) information (by using url param `topup=success|cancel`). Credit counter won't update without refreshing the page unless payment was confirmed before user was back on Credits page which is the case when testing checkout locally. <img width="804" alt="Screenshot 2025-01-01 at 2 55 35 PM" src="https://github.com/user-attachments/assets/22fb518d-b30b-4154-bb4b-edea1d57b6c2" /> #### Backend - Add `stripe` package - Add environment variables: - `STRIPE_API_KEY` - `STRIPE_WEBHOOK_SECRET` - Add routes: - `POST /credits`: top-up request, returns Stripe checkout url. - `POST /credits/stripe_webhook`: Stripe webhook endpoint to notify of successful payment. - `PATCH /credits`: prompts beckend to check payment status. It's an additional failsafe in case webhook fails. - Update `credit.py` and related files to handle top-up request and payment confirmation #### Frontend - Add `stripe-js` package - Add `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` environment variable - Modify user settings sidebar to show `Credits` if `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` is available - Add `store/credits` page where user can top-up their account, it shows confirmation (or failure) after completing checkout. - Add `useCredits` hook that returns user credits and allows to request top-up. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
|
|
9d79bfadea
|
[Snyk] Security upgrade next from 14.2.20 to 14.2.21 (#9243)
 ### Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project. #### Snyk changed the following file(s): - `autogpt_platform/frontend/package.json` - `autogpt_platform/frontend/yarn.lock` #### Note for [zero-installs](https://yarnpkg.com/features/zero-installs) users If you are using the Yarn feature [zero-installs](https://yarnpkg.com/features/zero-installs) that was introduced in Yarn V2, note that this PR does not update the `.yarn/cache/` directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run `yarn` to update the contents of the `./yarn/cache` directory. If you are not using zero-install you can ignore this as your flow should likely be unchanged. #### Vulnerabilities that will be fixed with an upgrade: | | Issue | :-------------------------:|:-------------------------  | Allocation of Resources Without Limits or Throttling <br/>[SNYK-JS-NEXT-8602067](https://snyk.io/vuln/SNYK-JS-NEXT-8602067) --- > [!IMPORTANT] > > - Check the changes in this PR to ensure they won't cause issues with your project. > - Max score is 1000. Note that the real score may have changed since the PR was raised. > - This PR was automatically created by Snyk using the credentials of a real user. --- **Note:** _You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs._ For more information: <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI4NWY3NDgyYy03NGFiLTQxNmYtYjQ4OC0wMTUwMDlmYzY5NzkiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6Ijg1Zjc0ODJjLTc0YWItNDE2Zi1iNDg4LTAxNTAwOWZjNjk3OSJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/significant-gravitas/project/3d924968-0cf3-4767-9609-501fa4962856?utm_source=github&utm_medium=referral&page=fix-pr) 📜 [Customise PR templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=github&utm_content=fix-pr-template) 🛠 [Adjust project settings](https://app.snyk.io/org/significant-gravitas/project/3d924968-0cf3-4767-9609-501fa4962856?utm_source=github&utm_medium=referral&page=fix-pr/settings) 📚 [Read about Snyk's upgrade logic](https://docs.snyk.io/scan-with-snyk/snyk-open-source/manage-vulnerabilities/upgrade-package-versions-to-fix-vulnerabilities?utm_source=github&utm_content=fix-pr-template) --- **Learn how to fix vulnerabilities with free interactive lessons:** 🦉 [Allocation of Resources Without Limits or Throttling](https://learn.snyk.io/lesson/no-rate-limiting/?loc=fix-pr) [//]: # 'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"next","from":"14.2.20","to":"14.2.21"}],"env":"prod","issuesToFix":["SNYK-JS-NEXT-8602067"],"prId":"85f7482c-74ab-416f-b488-015009fc6979","prPublicId":"85f7482c-74ab-416f-b488-015009fc6979","packageManager":"yarn","priorityScoreList":[null],"projectPublicId":"3d924968-0cf3-4767-9609-501fa4962856","projectUrl":"https://app.snyk.io/org/significant-gravitas/project/3d924968-0cf3-4767-9609-501fa4962856?utm_source=github&utm_medium=referral&page=fix-pr","prType":"fix","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":["updated-fix-title"],"type":"auto","upgrade":["SNYK-JS-NEXT-8602067"],"vulns":["SNYK-JS-NEXT-8602067"],"patch":[],"isBreakingChange":false,"remediationStrategy":"vuln"}' Co-authored-by: snyk-bot <snyk-bot@snyk.io> |
|
|
5f50c4863d
|
test(frontend): Re-enable the tests in monitor.spec.ts and then ensure they pass (#9248)
Enable the tests in `monitor.spec.ts`. * Remove `test.describe.skip` to enable the tests. * Ensure the tests are now running and passing successfully. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Significant-Gravitas/AutoGPT/pull/9248?shareId=edbd64cc-ea19-477b-be06-5eea84c28665). |
|
|
fe84cbe566
|
Revert "feature(backend): Add ability to execute store agents without agent ownership" (#9263)
Reverts Significant-Gravitas/AutoGPT#9179 This PR is preventing the running of agents in dev. |
|
|
5618072375
|
fix(blocks/Exa): Fix exa contents block advanced toggle (#9255)
Toggling the advanced option on Exa Contents Block isn't working. It throws a frontend error. ### Changes 🏗️ Remove Optional from ContentRetrievalSettings in exa/contents.py ### Checklist 📋 #### For code changes: - [x ] I have clearly listed my changes in the PR description - [ x] I have made a test plan - [ x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - Add an ExaContentsBlock - Hit advanced #### For configuration changes: N/A |
|
|
95b79abcfe
|
Revert broken Library v2 DB stuff of #9218, #9211 (#9256)
- **Revert "feature(platform): Implement library add, update, remove, archive functionality (#9218)"** - **Revert "feat(backend): Add Support for Managing Agent Presets with Pagination and Soft Delete (#9211)"** These PRs contain untested changes to DB functions and cause issues in production. |
|
|
fd6f28fa57
|
feature(platform): Implement library add, update, remove, archive functionality (#9218)
### Changes 🏗️ 1. **Core Features**: - Add agents to the user's library. - Update library agents (auto-update, favorite, archive, delete). - Paginate library agents and presets. - Execute graphs using presets. 2. **Refactoring**: - Replaced `UserAgent` with `LibraryAgent`. - Separated routes for agents and presets. 3. **Schema Changes**: - Added `LibraryAgent` table with fields like `isArchived`, `isDeleted`, etc. - Soft delete functionality for `AgentPreset`. 4. **Testing**: - Updated tests for `LibraryAgent` operations. - Added edge case tests for deletion, archiving, and pagination. 5. **Database Migrations**: - Migration to drop `UserAgent` and add `LibraryAgent`. - Added fields for soft deletion and auto-update. Note this includes the changes from the following PR's to avoid merge conflicts with them: #9179 #9211 --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
|
|
4b17cc9963
|
feat(backend): Add Support for Managing Agent Presets with Pagination and Soft Delete (#9211)
#### Summary - **New Models**: Added `LibraryAgentPreset`, `LibraryAgentPresetResponse`, `Pagination`, and `CreateLibraryAgentPresetRequest`. - **Database Changes**: - Added `isDeleted` column in `AgentPreset` for soft delete. - CRUD operations for `AgentPreset`: - `get_presets` with pagination. - `get_preset` by ID. - `create_or_update_preset` for upsert. - `delete_preset` to soft delete. - **API Routes**: - `GET /presets`: Fetch paginated presets. - `GET /presets/{preset_id}`: Fetch a single preset. - `POST /presets`: Create a preset. - `PUT /presets/{preset_id}`: Update a preset. - `DELETE /presets/{preset_id}`: Soft delete a preset. - **Tests**: - Coverage for models, CRUD operations, and pagination. - **Migration**: - Added `isDeleted` field to support soft delete. #### Review Notes - Validate migration scripts and test coverage. - Ensure API aligns with project standards. --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
|
|
00bb7c67b3
|
feature(backend): Add ability to execute store agents without agent ownership (#9179)
### Description
This PR enables the execution of store agents even if they are not owned
by the user. Key changes include handling store-listed agents in the
`get_graph` logic, improving execution flow, and ensuring
version-specific handling. These updates support more flexible agent
execution.
### Changes 🏗️
- **Graph Retrieval:** Updated `get_graph` to check store listings for
agents not owned by the user.
- **Version Handling:** Added `graph_version` to execution methods for
consistent version-specific execution.
- **Execution Flow:** Refactored `scheduler.py`, `rest_api.py`, and
other modules for clearer logic and better maintainability.
- **Testing:** Updated `test_manager.py` and other test cases to
validate execution of store-listed agents added test for accessing graph
---------
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
|
|
|
9d1bc25ffa
|
hotfix(backend): Increase statement timeout for the double brace migration (#9245)
### Changes 🏗️ https://github.com/Significant-Gravitas/AutoGPT/actions/runs/12696734339/job/35391431786 ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
3a3ee994c2
|
hotfix(backend): Increase statement timeout for the double brace migration (#9244)
### Changes 🏗️ https://github.com/Significant-Gravitas/AutoGPT/actions/runs/12696734339/job/35391431786 ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
0d44f5be13
|
feat(backend/blocks/nvidia): Provide Nvidia by default (#9235)
We want to allow users to use Nvidia without their own keys ### Changes 🏗️ Added nvidia api key to credentials store. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
1670579a61
|
fix(block): Remove Python.format & Jinja templating format backward compatibility (#9229)
Python format uses `{Variable}` as the variable placeholder, while Jinja uses `{{Variable}}` as its default. Jinja is used as the main templating engine on the system, but the Python format version is still maintained for backward compatibility. However, the backward compatibility support can cause a side effect while passing JSON string value into the block that uses it: https://github.com/Significant-Gravitas/AutoGPT/issues/9194 ### Changes 🏗️ * Use `{{Variable}}` place holder format and removed `{Variable}` support in these blocks: - '363ae599-353e-4804-937e-b2ee3cef3da4', -- AgentOutputBlock - 'db7d8f02-2f44-4c55-ab7a-eae0941f0c30', -- FillTextTemplateBlock - '1f292d4a-41a4-4977-9684-7c8d560b9f91', -- AITextGeneratorBlock - 'ed55ac19-356e-4243-a6cb-bc599e9b716f' -- AIStructuredResponseGeneratorBlock * Add Jinja templating support on `AITextGeneratorBlock` & `AIStructuredResponseGeneratorBlock` * Migrated the existing database content to prevent breaking changes. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
a1889e6212
|
docs(Ollama): Update Ollama docs (#9234)
The Ollama docs where very out of date and needed updating so I have updated them and added some screenshots so its easier to follow. I have also added a new Ollama model to the platform, "llama3.2" as that is what i based the tutorial off and its name is easy to find in the list of models I also added a new folder in the "imgs" dir to store the Ollama related photo just to keep things tidy |
|
|
9c702516fd
|
feat(platform): fix carousel on store page (#9230)
- resolves #8973 Adding smooth scrolling and solving some weird interaction on carousal ### Changes - Update `CarouselPrevious`, `CarouselPrevious` and add `CarouselIndicator` in `carousel.tsx` - Add `CarouselPrevious`, `CarouselPrevious` and `CarouselIndicator` support in `FeaturedSection.tsx` ### Demo https://github.com/user-attachments/assets/ba9a22fa-ddf2-469f-ba8a-aee1a7fc5f78 |
|
|
32c908ae13
|
fix(backend): Add default credentials for Fal, Exa, E2B (#9233)
We want to provide certain providers by default on our platform. These three were not added previously, so fixing that. ### Changes 🏗️ If api keys for Fal Exa or E2B exist in environment variables, load them by default as credentials that are usable by our users. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
b4a0100c22
|
feat(platform): Add Twitter integration (#8754)
- Resolves #8326 Create a Twitter integration with some small frontend changes. ### Changes 1. Add Twitter OAuth 2.0 with PKCE support for authentication. 2. Add a way to multi-select from a list of enums by creating a multi-select on the frontend. 3. Add blocks for Twitter integration. 4. `_types.py` for repetitive enums and input types. 5. `_builders.py` for creating parameters without repeating the same logic. 6. `_serializer.py` to serialize the Tweepy enums into dictionaries so they can travel easily from Pyro5. 7. `_mappers.py` to map the frontend values to the correct request values. > I have added a new multi-select feature because my list contains many items, and selecting all of them makes the block cluttered. This new block displays only the first two items and then show something like "2 more" . It works only for list of enums. ### Blocks Block Name | What It Does | Error Reason | Manual Testing -- | -- | -- | -- `TwitterBookmarkTweetBlock` | Bookmark a tweet on Twitter | No error | ✅ `TwitterGetBookmarkedTweetsBlock` | Get all your bookmarked tweets from Twitter | No error | ✅ `TwitterRemoveBookmarkTweetBlock` | Remove a bookmark for a tweet on Twitter | No error | ✅ `TwitterHideReplyBlock` | Hides a reply of one of your tweets | No error | ✅ `TwitterUnhideReplyBlock` | Unhides a reply to a tweet | No error | ✅ `TwitterLikeTweetBlock` | Likes a tweet | No error | ✅ `TwitterGetLikingUsersBlock` | Gets information about users who liked one of your tweets | No error | ✅ `TwitterGetLikedTweetsBlock` | Gets information about tweets liked by you | No error | ✅ `TwitterUnlikeTweetBlock` | Unlikes a tweet that was previously liked | No error | ✅ `TwitterPostTweetBlock` | Create a tweet on Twitter with the option to include one additional element such as media, quote, or deep link. | No error | ✅ `TwitterDeleteTweetBlock` | Deletes a tweet on Twitter using Twitter ID | No error | ✅ `TwitterSearchRecentTweetsBlock` | Searches all public Tweets in Twitter history | No error | ✅ `TwitterGetQuoteTweetsBlock` | Gets quote tweets for a specified tweet ID | No error | ✅ `TwitterRetweetBlock` | Retweets a tweet on Twitter | No error | ✅ `TwitterRemoveRetweetBlock` | Removes a retweet on Twitter | No error | ✅ `TwitterGetRetweetersBlock` | Gets information about who has retweeted a tweet | No error | ✅ `TwitterGetUserMentionsBlock` | Returns Tweets where a single user is mentioned, just put that user ID | No error | ✅ `TwitterGetHomeTimelineBlock` | Returns a collection of the most recent Tweets and Retweets posted by you and users you follow | No error | ✅ `TwitterGetUserTweetsBlock` | Returns Tweets composed by a single user, specified by the requested user ID | No error | ✅ `TwitterGetTweetBlock` | Returns information about a single Tweet specified by the requested ID | No error | ✅ `TwitterGetTweetsBlock` | Returns information about multiple Tweets specified by the requested IDs | No error | ✅ `TwitterUnblockUserBlock` | Unblock a specific user on Twitter | No error | ✅ `TwitterGetBlockedUsersBlock` | Get a list of users who are blocked by the authenticating user | No error | ✅ `TwitterBlockUserBlock` | Block a specific user on Twitter | No error | ✅ `TwitterUnfollowUserBlock` | Allows a user to unfollow another user specified by target user ID | No error | ✅ `TwitterFollowUserBlock` | Allows a user to follow another user specified by target user ID | No error | ✅ `TwitterGetFollowersBlock` | Retrieves a list of followers for a specified Twitter user ID | Need Enterprise level access | ❌ `TwitterGetFollowingBlock` | Retrieves a list of users that a specified Twitter user ID is following | Need Enterprise level access | ❌ `TwitterUnmuteUserBlock` | Allows a user to unmute another user specified by target user ID | No error | ✅ `TwitterGetMutedUsersBlock` | Returns a list of users who are muted by the authenticating user | No error | ✅ `TwitterMuteUserBlock` | Allows a user to mute another user specified by target user ID | No error | ✅ `TwitterGetUserBlock` | Gets information about a single Twitter user specified by ID or username | No error | ✅ `TwitterGetUsersBlock` | Gets information about multiple Twitter users specified by IDs or usernames | No error | ✅ `TwitterSearchSpacesBlock` | Returns live or scheduled Spaces matching specified search terms [for a week only] | No error | ✅ `TwitterGetSpacesBlock` | Gets information about multiple Twitter Spaces specified by Space IDs or creator user IDs | No error | ✅ `TwitterGetSpaceByIdBlock` | Gets information about a single Twitter Space specified by Space ID | No error | ✅ `TwitterGetSpaceBuyersBlock` | Gets list of users who purchased a ticket to the requested Space | I do not have a monetized account for this | ✅ `TwitterGetSpaceTweetsBlock` | Gets list of Tweets shared in the requested Space | No error | ✅ `TwitterUnfollowListBlock` | Unfollows a Twitter list for the authenticated user | No error | ✅ `TwitterFollowListBlock` | Follows a Twitter list for the authenticated user | No error | ✅ `TwitterListGetFollowersBlock` | Gets followers of a specified Twitter list | Enterprise level access | ❌ `TwitterGetFollowedListsBlock` | Gets lists followed by a specified Twitter user | Enterprise level access | ❌ `TwitterGetListBlock` | Gets information about a Twitter List specified by ID | No error | ✅ `TwitterGetOwnedListsBlock` | Gets all Lists owned by the specified user | No error | ✅ `TwitterRemoveListMemberBlock` | Removes a member from a Twitter List that the authenticated user owns | No error | ✅ `TwitterAddListMemberBlock` | Adds a member to a Twitter List that the authenticated user owns | No error | ✅ `TwitterGetListMembersBlock` | Gets the members of a specified Twitter List | No error | ✅ `TwitterGetListMembershipsBlock` | Gets all Lists that a specified user is a member of | No error | ✅ `TwitterGetListTweetsBlock` | Gets tweets from a specified Twitter list | No error | ✅ `TwitterDeleteListBlock` | Deletes a Twitter List owned by the authenticated user | No error | ✅ `TwitterUpdateListBlock` | Updates a Twitter List owned by the authenticated user | No error | ✅ `TwitterCreateListBlock` | Creates a Twitter List owned by the authenticated user | No error | ✅ `TwitterUnpinListBlock` | Enables the authenticated user to unpin a List. | No error | ✅ `TwitterPinListBlock` | Enables the authenticated user to pin a List. | No error | ✅ `TwitterGetPinnedListsBlock` | Returns the Lists pinned by the authenticated user. | No error | ✅ `TwitterGetDMEventsBlock` | Gets a list of Direct Message events for the authenticated user | Need Enterprise level access | ❌ `TwitterSendDirectMessageBlock` | Sends a direct message to a Twitter user | Need Enterprise level access | ❌ `TwitterCreateDMConversationBlock` | Creates a new group direct message | Need Enterprise level access | ❌ ### Need to add more stuff 1. A normal input to select date and time. 2. Some more enterprise-level blocks, especially webhook triggers. Supported triggers Event Name | Description -- | -- Posts (by user) | User creates a new post. Post deletes (by user) | User deletes an existing post. @mentions (of user) | User is mentioned in a post. Replies (to or from user) | User replies to a post or receives a reply from another user. Retweets (by user or of user) | User retweets a post or someone retweets the user's post. Quote Tweets (by user or of user) | User quote tweets a post or someone quote tweets the user's post. Retweets of Quoted Tweets (by user or of user) | Retweets of quote tweets by the user or of the user. Likes (by user or of user) | User likes a post or someone likes the user's post. Follows (by user or of user) | User follows another user or another user follows the user. Unfollows (by user) | User unfollows another user. Blocks (by user) | User blocks another user. Unblocks (by user) | User unblocks a previously blocked user. Mutes (by user) | User mutes another user. Unmutes (by user) | User unmutes a previously muted user. Direct Messages sent (by user) | User sends direct messages to other users. Direct Messages received (by user) | User receives direct messages from other users. Typing indicators (to user) | Indicators showing when someone is typing a message to the user. Read receipts (to user) | Indicators showing when the user has read a message. Subscription revokes (by user) | User revokes a subscription to a service or content. --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> Co-authored-by: Nicholas Tindle <nicktindle@outlook.com> |
|
|
e4d8502729
|
fix(blocks): improve handling of plain text in send web request block (#9219)
### Changes 🏗️
This is to improve how we deal with plain text in the send web request
block.
- Plain text stays as plain text (regardless of JSON toggle)
- Valid JSON with JSON toggle enabled sends as JSON
- JSON-like data with JSON toggle disabled sends as form data
|
|
|
43a79d063f
|
feat(platform) : Add api key generation frontend (#9212)
Allow users to create API keys for the AutoGPT platform. The backend is already set up, and here I’ve added the frontend for it. ### Changes 1. Fix the `response-model` of the API keys endpoints. 2. Add a new page `/store/api_keys`. 3. Add an `APIKeySection` component to create, delete, and view all your API keys. <img width="1512" alt="Screenshot 2025-01-07 at 3 59 25 PM" src="https://github.com/user-attachments/assets/ea4e9d35-eb92-4e10-a4fb-1fc51dfe11bb" /> |
|
|
7ec9830b02
|
fix(platform): Add custom fonts and update layout styles (#9195)
- resolve #9187 ### Changes 🏗️ Add support for `Inter`, `Poppins`, `Geist-Mono`, `Geist-Neue`, and `Neue` in `layout.tsx` and `tailwind.config.ts`. <img width="844" alt="Screenshot 2025-01-06 at 10 59 35 AM" src="https://github.com/user-attachments/assets/5e93e8a3-cda1-4d01-ba5d-7027a8c1dea7" /> --------- Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> |
|
|
b558ccae0b
|
feat(blocks/nvidia): Add Nvidia deepfake detection block (#9213)
Adding a block to allow users to detect deepfakes in their workflows. This block takes in an image as input and returns the probability of it being a deepfake as well as the bounding boxes around the image. ### Changes 🏗️ - Added NvidiaDeepfakeDetectBlock - Added the ability to upload images on the frontend - Added the ability to render base64 encoded images on the frontend <img width="1001" alt="Screenshot 2025-01-07 at 2 16 42 PM" src="https://github.com/user-attachments/assets/c3d090f3-3981-4235-a66b-f8e2a3920a4d" /> ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
|
|
4115f65223
|
Fix Provider name enum being used instead of value (#9216)
<!-- Clearly explain the need for these changes: --> Webhooks are broken ### Changes 🏗️ Swaps the way we fill webhooks into strings <!-- Concisely describe all of the changes made in this pull request: --> ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Manually test creating a webhook with Github and Compass |
|
|
7defba8d24
|
chore(frontend/deps-dev): bump the development-dependencies group in /autogpt_platform/frontend with 4 updates (#9207)
Bumps the development-dependencies group in /autogpt_platform/frontend with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [chromatic](https://github.com/chromaui/chromatic-cli), [concurrently](https://github.com/open-cli-tools/concurrently) and [eslint-plugin-storybook](https://github.com/storybookjs/eslint-plugin-storybook). Updates `@types/node` from 22.10.2 to 22.10.5 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li> </ul> </details> <br /> Updates `chromatic` from 11.20.2 to 11.22.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chromaui/chromatic-cli/releases">chromatic's releases</a>.</em></p> <blockquote> <h2>v11.22.0</h2> <h4>🚀 Enhancement</h4> <ul> <li>Bail on preview file changes <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1133">#1133</a> (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Cody Kaup (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h2>v11.21.0</h2> <h4>🚀 Enhancement</h4> <ul> <li>Set <code>storybookUrl</code> action output on rebuild early exit <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1134">#1134</a> (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Upload coverage reports to codecov <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1132">#1132</a> (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <h4>Authors: 2</h4> <ul> <li>John Hobbs (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Paul Elliott (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/chromaui/chromatic-cli/blob/main/CHANGELOG.md">chromatic's changelog</a>.</em></p> <blockquote> <h1>v11.22.0 (Fri Jan 03 2025)</h1> <h4>🚀 Enhancement</h4> <ul> <li>Bail on preview file changes <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1133">#1133</a> (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Cody Kaup (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <hr /> <h1>v11.21.0 (Fri Jan 03 2025)</h1> <h4>🚀 Enhancement</h4> <ul> <li>Set <code>storybookUrl</code> action output on rebuild early exit <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1134">#1134</a> (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Upload coverage reports to codecov <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1132">#1132</a> (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <h4>Authors: 2</h4> <ul> <li>John Hobbs (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Paul Elliott (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|
|
f5afdcc650
|
chore(frontend/deps): bump the production-dependencies group across 1 directory with 11 updates (#9214)
Bumps the production-dependencies group with 11 updates in the /autogpt_platform/frontend directory: | Package | From | To | | --- | --- | --- | | [@hookform/resolvers](https://github.com/react-hook-form/resolvers) | `3.9.1` | `3.10.0` | | [@next/third-parties](https://github.com/vercel/next.js/tree/HEAD/packages/third-parties) | `15.1.0` | `15.1.3` | | [@sentry/nextjs](https://github.com/getsentry/sentry-javascript) | `8.45.1` | `8.48.0` | | [framer-motion](https://github.com/motiondivision/motion) | `11.15.0` | `11.16.0` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.468.0` | `0.469.0` | | [react-day-picker](https://github.com/gpbl/react-day-picker) | `9.4.4` | `9.5.0` | | [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.54.1` | `7.54.2` | | [react-markdown](https://github.com/remarkjs/react-markdown) | `9.0.1` | `9.0.3` | | [react-modal](https://github.com/reactjs/react-modal) | `3.16.1` | `3.16.3` | | [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `2.5.5` | `2.6.0` | | [uuid](https://github.com/uuidjs/uuid) | `11.0.3` | `11.0.4` | Updates `@hookform/resolvers` from 3.9.1 to 3.10.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/react-hook-form/resolvers/releases"><code>@hookform/resolvers</code>'s releases</a>.</em></p> <blockquote> <h2>v3.10.0</h2> <h1><a href="https://github.com/react-hook-form/resolvers/compare/v3.9.1...v3.10.0">3.10.0</a> (2025-01-06)</h1> <h3>Features</h3> <ul> <li>update to effect 3.10 (<a href="https://redirect.github.com/react-hook-form/resolvers/issues/729">#729</a>) (<a href=" |