Commit Graph

6460 Commits

Author SHA1 Message Date
Nicholas Tindle
109e5dc8b1 Merge branch 'ntindle/secrt-1077-add-email-service-smaller' into ntindle/secrt-1079-add-ability-to-send-emails-from-notification-service 2025-02-13 11:33:14 -06:00
Nicholas Tindle
b4e46c0eb5 Discard changes to autogpt_platform/backend/backend/data/graph.py 2025-02-13 11:28:04 -06:00
Nicholas Tindle
9cb53c497b refactor(backend): rename use_rabbitmq to rabbitmq_config 2025-02-13 11:26:55 -06:00
Nicholas Tindle
9ef35205b9 fix(backend): drop old param 2025-02-13 11:19:38 -06:00
Nicholas Tindle
250316c946 fix(backend): fix indentation 2025-02-13 11:13:56 -06:00
Nicholas Tindle
fd41bcf4c5 fix(backend): rename the service to be more reasonable 2025-02-13 11:12:39 -06:00
Nicholas Tindle
18ca9a5d1c fix(ci): undo autofix 2025-02-13 11:12:25 -06:00
Nicholas Tindle
55a7f1c2f1 Merge branch 'ntindle/secrt-1077-add-email-service-smaller' into ntindle/secrt-1079-add-ability-to-send-emails-from-notification-service 2025-02-13 07:36:59 -06:00
Nicholas Tindle
18923b6401 Merge branch 'dev' into ntindle/secrt-1077-add-email-service-smaller 2025-02-13 07:34:32 -06:00
Nicholas Tindle
d776e722a1 ci(tests): provide ci details to the tests too 2025-02-13 07:05:52 -06:00
Nicholas Tindle
fb1f3d7e79 ci(test): add rabbitmq instance to ci 2025-02-13 06:56:50 -06:00
Nicholas Tindle
bfaf1e5fc2 fix(backend): manually start the notification service in testing? 2025-02-13 06:48:24 -06:00
Nicholas Tindle
78125371fc feat(backend): handle migration error 2025-02-13 06:43:48 -06:00
Zamil Majdy
b5b9a008bf feat(backend): Migrate json encoded string columns into a native json column (#9475)
### Changes 🏗️

Due to the legacy of SQLite usage, some of the JSON columns are actually
a string column string a stringified JSON column.
The scope of this PR is migrating those columns into an actual JSON
column.

### 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>
2025-02-13 12:02:53 +00:00
Nicholas Tindle
7e8207eb9b Merge branch 'dev' into ntindle/secrt-1077-add-email-service-smaller 2025-02-12 17:19:29 -06:00
Nicholas Tindle
7e04fbd25f feat(backend): schema updates, migration, queries for Email Notification Service (#9445)
<!-- Clearly explain the need for these changes: -->

The email service has requirements to
- Email users when some activity has happened on their account on some
scheduled basis -> We need a way to get active users and the executions
that happened while they were active
- Allow users to configure what emails they get -> Need a user
preference
- Get User email by Id so that we can email them -> Pretty
self-explanatory

We need to add a few new backend queries + db models for the
notification to start handling these details. This is the first set of
those changes based on experience building the app service

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
- Adds a new DB Model, `UserNotificationPreferences,` with related
migration
- Adds a new DB Model `NotificationEvent` with related migration to
track what notifications we've sent and how many and such (how much we
add here is open to change depending on what limits on data we want)
- Adds a new DB Model `UserNotificationBatch` with related migration to
handle batching of like models
- Adds queries to get users and executions by `datetime` ranges as `ISO`
strings
- Adds new queries to the `DatabaseManager` and exposes them to the
other `AppService`s
- Exposes all new queries plus an existing one `get_user_by_id`

### 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] I extracted these changes from a working implementation of the
service, and tested they don't bring down the service by being uncalled
by running the standard agent tests we do on release

---------

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2025-02-12 22:54:16 +00:00
Nicholas Tindle
829e0f2a44 Merge branch 'ntindle/secrt-1077-add-email-service-smaller' into ntindle/secrt-1079-add-ability-to-send-emails-from-notification-service 2025-02-12 16:44:41 -06:00
Nicholas Tindle
dc558966b8 Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' into ntindle/secrt-1077-add-email-service-smaller 2025-02-12 16:44:22 -06:00
Nicholas Tindle
20267d62f6 Discard changes to autogpt_platform/frontend/yarn.lock 2025-02-12 16:20:01 -06:00
Nicholas Tindle
47e14d5525 fix(backend): move stuff to the user object and stop messing with 1-1 unique relationship 2025-02-12 15:59:25 -06:00
Nicholas Tindle
efe63503ac Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' into ntindle/secrt-1077-add-email-service-smaller 2025-02-12 12:25:24 -06:00
Nicholas Tindle
21c3a6fdcc Merge branch 'dev' into ntindle/secrt-1088-add-db-models-for-the-notification-service 2025-02-12 12:18:00 -06:00
Bently
016ec0ff6b fix(frontend) update PublishAgentAwaitingReview router push path (#9471)
Updates the PublishAgentAwaitingReview router.push path, it was going to
``/marketplace/dashboard`` it should be ``/profile/dashboard``

### Changes 🏗️


8181ee8cd1/autogpt_platform/frontend/src/components/agptui/composite/PublishAgentPopout.tsx (L265-L267)

to be

```tsx
		onViewProgress={() => {
		  router.push("/profile/dashboard");
		  handleClose();
		}}
```
autogpt-platform-beta-v0.4.10
2025-02-12 15:32:47 +00:00
Zamil Majdy
3b8cde6d11 feat(block): Add batch matched result and its count on ExtractTextInformationBlock (#9470)
### Changes 🏗️

Introduced `matched_result` & `matched_count` as a batch matched result
list and its count for the block execution of
ExtractTextInformationBlock.

### 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>
2025-02-12 12:22:26 +00:00
Nicholas Tindle
74d07effd0 feat(backend): clean up + better handling 2025-02-11 22:36:04 -06:00
Nicholas Tindle
afa8d118f5 feat(backend): add ability to send emails 2025-02-11 22:00:28 -06:00
Keith Webber
d050a3f77c docs: Provide feedback when cloning submodules (#9448)
<!-- Clearly explain the need for these changes: -->

### Changes 🏗️
Added `--progress` to the submodule update, so that cloning progress can
be tracked and does not appear to hang.
<!-- Concisely describe all of the changes made in this pull request:
-->

### Checklist 📋

#### For code changes:
- [x] No code change, just docs.
 

<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] No configuration change, just docs.
 

<details>
  <summary> Provide feedback when cloning submodules </summary>

  -  now updating submodules shows the cloning repo's progress
 
</details>

Co-authored-by: Your Name <you@example.com>
2025-02-12 03:43:52 +00:00
Nicholas Tindle
3e2f34180d Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' into ntindle/secrt-1077-add-email-service-smaller 2025-02-11 21:36:38 -06:00
Nicholas Tindle
aa21bf7b2d fix(backend): format 2025-02-11 21:36:22 -06:00
Nicholas Tindle
e012e3aaf6 Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' into ntindle/secrt-1077-add-email-service-smaller 2025-02-11 21:10:39 -06:00
Nicholas Tindle
ddd2b9de15 fix(backend): the tests did dumb stuff like reusing ids 2025-02-11 21:09:51 -06:00
Nicholas Tindle
85f8f4136f fix(backend): relock 2025-02-11 20:33:49 -06:00
Nicholas Tindle
1cd90ef113 Merge branch 'dev' into ntindle/secrt-1088-add-db-models-for-the-notification-service 2025-02-11 20:32:47 -06:00
Nicholas Tindle
3562090495 Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' into ntindle/secrt-1077-add-email-service-smaller 2025-02-11 20:30:48 -06:00
Nicholas Tindle
c69df5cb79 ref(backend): update from pr changes 2025-02-11 20:30:33 -06:00
Reinier van der Leer
1626bf9e16 fix(backend): Support Python 3.10 (#9468)
- Resolves #9467

### Changes 🏗️

- Loosen Python version requirement to include v3.10

Also, fixed a few issues in pyproject.toml:
- Re-sort dependency list
- Update `autogpt-platform-backend` package version to match latest
release
2025-02-12 02:02:00 +00:00
Nicholas Tindle
957ebe697f refactor(backend): raise errors from db queries 2025-02-11 15:08:33 -06:00
Nicholas Tindle
82d96ee7b0 Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' into ntindle/secrt-1077-add-email-service-smaller 2025-02-11 15:01:25 -06:00
Nicholas Tindle
11cda46724 ref(backend): pr changes 2025-02-11 15:01:15 -06:00
Nicholas Tindle
bf49a0a08a Update autogpt_platform/backend/backend/data/notifications.py 2025-02-11 14:26:33 -06:00
Nicholas Tindle
e2441c5220 Apply suggestions from code review
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2025-02-11 14:23:00 -06:00
Nicholas Tindle
63e3582114 Merge branch 'ntindle/secrt-1088-add-db-models-for-the-notification-service' of https://github.com/Significant-Gravitas/AutoGPT into ntindle/secrt-1088-add-db-models-for-the-notification-service 2025-02-11 14:20:11 -06:00
Nicholas Tindle
0e99bdc742 ref(backend): smash migrations and apply changes to api 2025-02-11 14:20:04 -06:00
Nicholas Tindle
91df11b44c ref(backend): use lowercase types
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2025-02-11 14:19:33 -06:00
Andy Hooker
40613fe23e fix(frontend): Update user profile from marketplace to appropriate profile route (#9465)
### Background
Resolves: #9313

The application is incorrectly nesting the user's profile settings
within the route of `/marketplace` instead of the appropriate route of
`/profile`

This pr will modify the existing code to handle the relocation of the
(user) directory from the /marketplace to /profile.

### Changes 🏗️

1. Refactored directory of `(user)`:
- Moved the directory of (user) from `/marketplace/(user)` to
`profile/(user)`


2. Update Sidebar and Navbar components:
- Updating the existing code from the routing of market to profile by
modifying the existing routes.

### 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:

<details>
  <summary>Test Plan</summary>
  
  - [ ] Navigate to the route of `profile/` and observe the moved page.
- [ ] Navigate to the route of `profile/integrations` and observe the
moved page.
- [ ] Navigate to the route of `profile/api_keys` and observe the moved
page.
- [ ] Navigate to the route of `profile/profile` and observe the moved
page.
- [ ] Navigate to the route of `profile/settings` and observe the moved
page.
- [ ] Navigate to the route of `profile/credits` and observe the moved
page.
</details>
2025-02-11 11:25:15 +00:00
Andy Hooker
6eee9206f7 fix(market): Market featured agent card (#9463)
### Background
Resolves: #9313

The marketplace featured agent's section has a bug where if you hover
over a featured agent's card we are getting an incorrect background
color applied to the description.

### Changes 🏗️

1. Refactored `FeaturedStoreCard` to `FeaturedAgentCard`:
   - Condensed props and leverage StoreAgent type from api
- Removed onClick handler from props as this is not json serializable
and is not inline with NextJS best practices
- Used built in Card Components from ShadCN to minimize custom styling.
- Optimize images with implementation of the Image component from NextJS

2. Enhanced `FeaturedCardSection` components:
- Removing extensive prop passing and leverage the agent itself with the
StoreAgent type.
- Implemented Link from NextJS to better handler routing and remove the
`useRouter` implementation
   - Removed unnecessary handleCardClick method.

### 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:

Test Plan
<details>
  <summary></summary>
 
  - [ ] Goto the landing page of the application or /marketplace 
  - [ ] Scroll to the featured agents section
- [ ] Move mouse over each of the cards and observe the image
disappearing and text being shown
- [ ] Observe the background color of the text that replaced the image
matches that of the card
</details>
2025-02-10 22:01:29 +00:00
Nicholas Tindle
cee7929b02 feat(backend): setup first notification service 2025-02-10 15:54:02 -06:00
Nicholas Tindle
c259e5b145 feat(backend): spawn the notifications service 2025-02-10 15:53:16 -06:00
Nicholas Tindle
c71bb17658 fix(backend): relock 2025-02-10 15:31:11 -06:00
Nicholas Tindle
4481827480 Merge branch 'dev' into ntindle/secrt-1088-add-db-models-for-the-notification-service 2025-02-10 15:28:12 -06:00