Commit Graph

748 Commits

Author SHA1 Message Date
Stan Girard
111200184b
feat: Add brain_id and brain_name to ChatLLMMetadata model (#2968)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-07 11:47:33 -07:00
Stan Girard
13e9fc490b
feat: Add get_model method to ModelRepository (#2949)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-06 08:44:12 -07:00
Stan Girard
fccd197511
feat: add chat with models (#2933)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: AmineDiro <aminedirhoussi1@gmail.com>
2024-08-06 05:51:27 -07:00
Chloé Daems
9934a7a8ce
feat: Add GitHub sync functionality to sync router (#2871)
The code changes in `sync_routes.py` add the GitHub sync functionality
to the sync router. This allows users to sync their GitHub repositories
with Quivr.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-08-05 05:17:53 -07:00
Stan Girard
b3debeefee
chore(main): release core 0.0.13 (#2930)
🤖 I have created a release *beep* *boop*
---


##
[0.0.13](https://github.com/QuivrHQ/quivr/compare/core-0.0.12...core-0.0.13)
(2024-08-01)


### Features

* quivr core tox test + parsers
([#2929](https://github.com/QuivrHQ/quivr/issues/2929))
([6855585](685558560c))


### Bug Fixes

* processor quivr version
([#2934](https://github.com/QuivrHQ/quivr/issues/2934))
([2d64962](2d64962ca4))
* quivr core fix tests
([#2935](https://github.com/QuivrHQ/quivr/issues/2935))
([d9c1f3a](d9c1f3add4))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-08-02 15:24:21 +02:00
AmineDiro
d9c1f3add4
fix: quivr core fix tests (#2935)
# Description
- Update CI
- Fix DockerFile for quivr-core tests
- Tox parallel tests

@StanGirard  @chloedia 
- For running quivr-core tests:
```bash
cd backend/core
./scripts/run_tests.sh
```

---------

Co-authored-by: aminediro <aminedirhoussi@gmail.com>
Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-08-01 06:54:43 -07:00
AmineDiro
2d64962ca4
fix: processor quivr version (#2934) 2024-07-31 21:57:28 +02:00
AmineDiro
685558560c
feat: quivr core tox test + parsers (#2929) 2024-07-30 18:49:12 +02:00
Chloé Daems
206e25ffd2
Feat/handle_azure_sites (#2921)
# Description

Fix get all sites
2024-07-29 06:49:04 -07:00
Stan Girard
11e443411d
chore: update sync notification status to INFO (#2918)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-29 05:47:53 -07:00
Chloé Daems
8d0e07601b
feat(integrations): Add Azure Drive Sites support (#2919)
This PR adds Sites of azure drives navigation possibility
2024-07-29 05:33:12 -07:00
Stan Girard
43c47d83d4
feat(notifications): improved requirements (#2915)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-26 07:43:32 -07:00
Antoine Dewez
4dfb3049c8
fix(backend): fix error messages (#2917)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-26 16:38:01 +02:00
Chloé Daems
e5a1319ca4
fix: error dict google drive (#2912) 2024-07-25 07:24:16 -07:00
Stan Girard
ce40cc9e70
chore(main): release core 0.0.12 (#2889)
🤖 I have created a release *beep* *boop*
---


##
[0.0.12](https://github.com/QuivrHQ/quivr/compare/core-0.0.11...core-0.0.12)
(2024-07-23)


### Features

* **dead-code:** removed composite & api
([#2902](https://github.com/QuivrHQ/quivr/issues/2902))
([a2721d3](a2721d3926))
* **frontend:** add knowledge icon when integration
([#2888](https://github.com/QuivrHQ/quivr/issues/2888))
([733d083](733d083e33))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-23 15:21:35 -07:00
Chloé Daems
2093fb9407
fix(sync): folder upload to Google Drive (#2909)
# Description

small fix to upload folder with google drive
2024-07-23 14:40:40 -07:00
Stan Girard
5a7fc21163
feat: Update AzureDriveSync name to "Share Point" (#2907)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-23 12:10:06 -07:00
Stan Girard
a2721d3926
feat(dead-code): removed composite & api (#2902)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 14:12:54 -07:00
Stan Girard
cf5c56d74c
feat: Remove unused onboarding code (#2901)
Remove unused code related to onboarding functionality. This includes
removing the `OnboardingUpdatableProperties` class and the
`OnboardingStates` class. These classes are no longer used in the
codebase and can be safely deleted.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 10:54:41 -07:00
Stan Girard
d9e7ba8657
feat(premium): add trialing (#2900)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 09:15:13 -07:00
Stan Girard
10bcec862f
feat(api): add logging for inactive subscriptions (#2897)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 08:24:06 -07:00
Stan Girard
cf5ad25896
feat(azure): changed auth method (#2890)
Auth method changed to web
2024-07-22 06:32:30 -07:00
Stan Girard
ade4802c34
feat: add integration and integration link to Sources class (#2893)
The Sources class in `chats.py` now includes optional fields for
integration and integration link. This allows for better tracking and
integration of external sources in the chat module.
2024-07-22 06:09:57 -07:00
Chloé Daems
7eba571306
fix: google conversion (#2891)
# Description

Fix google file conversion problem
2024-07-22 05:02:59 -07:00
Antoine Dewez
733d083e33
feat(frontend): add knowledge icon when integration (#2888)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 12:21:39 +02:00
Stan Girard
09d8d50422
chore(main): release core 0.0.11 (#2886)
🤖 I have created a release *beep* *boop*
---


##
[0.0.11](https://github.com/QuivrHQ/quivr/compare/core-0.0.10...core-0.0.11)
(2024-07-22)


### Features

* move parsers quivr core
([#2884](https://github.com/QuivrHQ/quivr/issues/2884))
([d3c53e6](d3c53e6353))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-22 10:13:42 +02:00
AmineDiro
d3c53e6353
feat: move parsers quivr core (#2884)
# Description

- Moved `quivr-api` parser to `quivr_core.processor.implementations` by
Dynamically creating classes on the fly that inherit from
`ProcessorBase`
- Defined a priority based based system to automagically register the
"important" processor that we can import at runtime
- Wrote extensive tests for the registry 
- Added support file extensions

### Next steps
- Find a way to have correct LSP autocomplete on the dynamically
generated processors
- Test that processor are imported correctly based on the installed
packages in environment ( using tox) ?
2024-07-22 01:09:02 -07:00
Stan Girard
fdeb6613ed
chore(main): release core 0.0.10 (#2872)
🤖 I have created a release *beep* *boop*
---


##
[0.0.10](https://github.com/QuivrHQ/quivr/compare/core-0.0.9...core-0.0.10)
(2024-07-19)


### Features

* **frontend:** new notifications design
([#2870](https://github.com/QuivrHQ/quivr/issues/2870))
([ed97004](ed97004269))
* **integrations:** dropbox
([#2864](https://github.com/QuivrHQ/quivr/issues/2864))
([4806dc5](4806dc5809))
* quivr core brain info + processors registry +
([#2877](https://github.com/QuivrHQ/quivr/issues/2877))
([3001fa1](3001fa1475))


### Bug Fixes

* Refacto & update dropbox refresh
([#2875](https://github.com/QuivrHQ/quivr/issues/2875))
([3b68855](3b68855a83))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-19 09:48:36 +02:00
AmineDiro
3001fa1475
feat: quivr core brain info + processors registry + (#2877)
# Description

- Created registry processor logic for automagically adding processors
to quivr_core based Entrypoints
- Added a langchain_community free `SimpleTxtParser` for the quivr_core
base package
- Added tests
- Added brain_info 
- Enriched parsed documents metadata based on quivr_file metadata

used Rich for `Brain.print_info()` to get a better output: 

![image](https://github.com/user-attachments/assets/dd9f2f03-d7d7-4be0-ba6c-3fe38e11c40f)
2024-07-19 09:47:39 +02:00
Chloé Daems
3b68855a83
fix: Refacto & update dropbox refresh (#2875)
This pull request adds functionality to sync files with DropBox. It
includes the following changes:

- Created a BaseSync class with all specific function for each clouds
- Created a SyncUtils class that takes in a BaseSync and apply the pipe
- fix the refresh method for DropBox

Please review and merge this pull request to enable DropBox sync
functionality in the application.

---------

Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: Amine Dirhoussi <aminediro@quivr.app>
2024-07-19 09:47:11 +02:00
Chloé Daems
4806dc5809
feat(integrations): dropbox (#2864)
# Description

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-17 01:10:35 -07:00
Stan Girard
d36ad19791
feat: Update sync active notification category (#2873)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-16 08:58:59 -07:00
Antoine Dewez
ed97004269
feat(frontend): new notifications design (#2870)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-16 08:18:05 -07:00
Stan Girard
135bc85eb5
chore(main): release core 0.0.9 (#2855)
🤖 I have created a release *beep* *boop*
---


##
[0.0.9](https://github.com/QuivrHQ/quivr/compare/core-0.0.8...core-0.0.9)
(2024-07-15)


### Features

* quivr api use quivr core
([#2868](https://github.com/QuivrHQ/quivr/issues/2868))
([9d3e9ed](9d3e9edfd2))


### Bug Fixes

* quiv core stream duplicate and quivr-core rag tests
([#2852](https://github.com/QuivrHQ/quivr/issues/2852))
([35eb07f](35eb07f7a2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-16 00:24:26 -07:00
Stan Girard
7e3841e2f2
feat: Update sync generic bulk (#2869)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 10:18:45 -07:00
AmineDiro
9d3e9edfd2
feat: quivr api use quivr core (#2868)
# Description

- `quivr-api` uses `quivr-core` for generating   
- separate `rag_service` 
- removed the package quivr_core from api.
2024-07-15 10:10:03 -07:00
Stan Girard
2f8bcdcdd5
feat(integrations): Add integration fields to Knowledge and SyncsUser models (#2853)
This pull request adds integration fields to the Knowledge and SyncsUser
models. The integration fields include `integration` and
`integration_link`. These fields allow for better integration with
external systems and provide additional information about the
integration.

---------

Co-authored-by: chloedia <chloedaems0@gmail.com>
Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: AmineDiro <aminedirhoussi1@gmail.com>
2024-07-15 10:04:57 -07:00
Stan Girard
c643157b75
feat: Update crawl_endpoint to include knowledge_id in task kwargs (#2867)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 08:31:46 -07:00
Stan Girard
9cb7bd97d8
feat: Update category for sync notification (#2866)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 07:58:22 -07:00
AmineDiro
a90a01ccf2
feat: quivr api send notification (#2865)
# Description

- Quivr notification service. listens to celery events and updates
knowledge status.
- Process file notification will wait for retried tasks
2024-07-15 06:37:42 -07:00
Stan Girard
c8dd70affc
feat(celery): add retry logic for dcos (#2862)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:32:00 -07:00
Stan Girard
37793d549a
feat: Improve file loading logic in File model (#2861)
The code changes in `files.py` improve the file loading logic in the
File model. The `load()` method now returns the loaded content, which is
then assigned to the `documents` variable. Additionally, the logger now
includes information about the loaded documents.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:10:14 -07:00
Stan Girard
77e1cfb77f
feat: Update file loading logic in File model (#2857) 2024-07-12 16:50:27 +02:00
Stan Girard
5cc1ae5423
feat: Add category and brain_id fields to CreateNotification and Notification models (#2856)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-12 06:56:55 -07:00
AmineDiro
35eb07f7a2
fix: quiv core stream duplicate and quivr-core rag tests (#2852)
# Description

`quivr-core`
- Generate a fixture to simulate a model with function calling
- Monkey patch `QuivrQARAG` stream 
-  Tests function

`quivr-api`
- Fixes empty API responses 
- Fixes non function calling models

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-12 06:07:39 -07:00
Stan Girard
86676c3f39
feat: Add bulk_id field to CreateNotification and Notification models (#2854)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-12 06:04:39 -07:00
Stan Girard
064557f480
feat: Add bulk_id field to CreateNotification and Notification models (#2850)
This pull request adds a new field called `bulk_id` to the
`CreateNotification` and `Notification` models. The `bulk_id` field is
an optional UUID that can be used for bulk operations.
2024-07-12 01:51:27 -07:00
Antoine Dewez
2d2ccc382e
fix(backend): thumbs button were broken (#2849)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-11 16:29:48 +02:00
Antoine Dewez
29cdbca8a8
fix(frontend): remove possibilities to create brain if max amount (#2847)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-11 15:37:24 +02:00
AmineDiro
23ea00726a
fix: fixes duplicate response bug (#2843)
# Description

closes #2794.

Fixes duplicate responses in stream
2024-07-11 06:09:43 -07:00
Stan Girard
be84ecf89e
chore: Update quivr-core and chainlit versions in requirements.txt (#2839)
This pull request updates the versions of quivr-core and chainlit in the
requirements.txt file. The quivr-core version is changed from 0.0.8 to
0.0.8[base], and the chainlit version is changed from 1.1.306 to
1.1.306.
2024-07-11 01:33:33 -07:00
Stan Girard
c86074942a
chore: Update quivr-core and chainlit versions in requirements.txt (#2836) 2024-07-11 01:16:32 -07:00
Stan Girard
d9338347f7
chore(main): release core 0.0.8 (#2832)
🤖 I have created a release *beep* *boop*
---


##
[0.0.8](https://github.com/QuivrHQ/quivr/compare/core-0.0.7...core-0.0.8)
(2024-07-11)


### Features

* Add Quivr chatbot example
([#2827](https://github.com/QuivrHQ/quivr/issues/2827))
([5ff8d4e](5ff8d4ee81))
* Update aiofiles dependency to loosen version control
([#2834](https://github.com/QuivrHQ/quivr/issues/2834))
([5e75d15](5e75d15597))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-11 01:06:42 -07:00
Stan Girard
5e75d15597
feat: Update aiofiles dependency to loosen version control (#2834)
This pull request updates the aiofiles dependency version to loosen the
version control.
2024-07-11 01:05:17 -07:00
Stan Girard
5ff8d4ee81
feat: Add Quivr chatbot example (#2827)
The commit adds a new Quivr chatbot example to the repository. The
example demonstrates how to create a simple chatbot using Quivr and
Chainlit. Users can upload a text file and ask questions about its
content. The commit includes the necessary files, installation
instructions, and usage guidelines.
2024-07-10 12:42:49 -07:00
Stan Girard
7b8db6b9ec
chore(main): release core 0.0.7 (#2831)
🤖 I have created a release *beep* *boop*
---


##
[0.0.7](https://github.com/QuivrHQ/quivr/compare/core-0.0.6...core-0.0.7)
(2024-07-10)


### Bug Fixes

* llm model name ([#2830](https://github.com/QuivrHQ/quivr/issues/2830))
([71d6cd9](71d6cd9b6b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-10 09:34:49 -07:00
AmineDiro
71d6cd9b6b
fix: llm model name (#2830)
# Description

llm endpoint model name wasn't taken into account
2024-07-10 09:34:06 -07:00
Stan Girard
cc4bea7654
chore(main): release core 0.0.6 (#2829)
🤖 I have created a release *beep* *boop*
---


##
[0.0.6](https://github.com/QuivrHQ/quivr/compare/core-0.0.5...core-0.0.6)
(2024-07-10)


### Features

* quivr-core ask streaming
([#2828](https://github.com/QuivrHQ/quivr/issues/2828))
([0658d49](0658d4947c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-10 08:53:07 -07:00
AmineDiro
0658d4947c
feat: quivr-core ask streaming (#2828)
# Description

Added streaming response to quivr-core brain + tests.
2024-07-10 08:52:07 -07:00
Stan Girard
f496e013d3
chore(main): release core 0.0.5 (#2821)
🤖 I have created a release *beep* *boop*
---


##
[0.0.5](https://github.com/QuivrHQ/quivr/compare/core-0.0.4...core-0.0.5)
(2024-07-10)


### Features

* Add GitHub Actions workflow for running tests on backend/core
([#2820](https://github.com/QuivrHQ/quivr/issues/2820))
([82292f3](82292f30ac))
* Add GitHub Actions workflow for running tests on backend/core
([#2822](https://github.com/QuivrHQ/quivr/issues/2822))
([1566040](15660409a3))
* quivr core chat history
([#2824](https://github.com/QuivrHQ/quivr/issues/2824))
([847e161](847e161d80))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-10 06:29:24 -07:00
AmineDiro
847e161d80
feat: quivr core chat history (#2824)
# Description

- Defined quivr-core `ChatHistory`
- `ChatHistory` can be iterated over in tuples of
`HumanMessage,AIMessage`
-  Brain appends to the chatHistory once response is received
- Brain holds a dict of chats and defines the default chat (TODO: define
a system of selecting the chats)
- Wrote test 
- Updated `QuivrQARAG` to use `ChatHistory` as input
2024-07-10 06:22:59 -07:00
Stan Girard
442186c674
feat(precommit): Update pre-commit hooks to latest versions (#2823)
This pull request updates the pre-commit hooks in the
`.pre-commit-config.yaml` file to the latest versions. By doing so, we
ensure that our codebase benefits from the latest bug fixes and
improvements provided by the pre-commit community.
2024-07-09 10:33:45 -07:00
Stan Girard
15660409a3
feat: Add GitHub Actions workflow for running tests on backend/core (#2822)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-09 09:39:01 -07:00
Stan Girard
82292f30ac
feat: Add GitHub Actions workflow for running tests on backend/core (#2820)
This commit adds a new GitHub Actions workflow file
`backend-core-tests.yml` to the repository. This workflow is triggered
on push and pull request events, specifically for changes made to the
`backend/core` directory. The workflow runs tests for the backend/core
module using a Tika server as a service. It checks the health of the
Tika server before running the tests. The workflow sets up Python,
installs dependencies using Poetry, and runs the tests using pytest.

This commit is necessary to automate the testing process for the
backend/core module and ensure that the tests are run consistently and
reliably.

Co-authored-by: aminediro <aminedirhoussi@gmail.com>
2024-07-09 09:28:27 -07:00
Stan Girard
03aa9e4521
chore(main): release core 0.0.4 (#2819)
🤖 I have created a release *beep* *boop*
---


##
[0.0.4](https://github.com/QuivrHQ/quivr/compare/core-0.0.3...core-0.0.4)
(2024-07-09)


### Features

* quivr core minimal chat
([#2818](https://github.com/QuivrHQ/quivr/issues/2818))
([481f24f](481f24f5be))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-09 18:12:33 +02:00
AmineDiro
481f24f5be
feat: quivr core minimal chat (#2818)
# Description
- Introduce `LLMEndpoint` class: wrapper around a `BaseChatLLM` to load
OpenAI compatible models
- Add `brain.search(...)` function to retrieve
- Test with test-coverage: 
- Added ability to load brain `from langchain.Document`
- Configured mypy and poetry lock in `.pre-commit.yaml`

# Test coverage

![image](https://github.com/QuivrHQ/quivr/assets/14312141/629ede66-146e-400f-b40b-8c22a9258a47)

---------

Co-authored-by: aminediro <aminedirhoussi@gmail.com>
2024-07-09 17:55:14 +02:00
Stan Girard
f77c8e65a3
chore(main): release core 0.0.3 (#2817)
🤖 I have created a release *beep* *boop*
---


##
[0.0.3](https://github.com/QuivrHQ/quivr/compare/core-0.0.2...core-0.0.3)
(2024-07-09)


### Bug Fixes

* **pyproject:** fixed to quivr github
([#2816](https://github.com/QuivrHQ/quivr/issues/2816))
([5a4ac00](5a4ac001d0))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-09 07:57:16 -07:00
Stan Girard
5a4ac001d0
fix(pyproject): fixed to quivr github (#2816)
This pull request updates the repository URL in the pyproject.toml file
from "https://github.com/langchain-ai/langchain" to
"https://github.com/QuivrHQ/quivr".
2024-07-09 07:56:05 -07:00
Stan Girard
e047fec673
chore(main): release core 0.0.2 (#2815)
🤖 I have created a release *beep* *boop*
---


##
[0.0.2](https://github.com/QuivrHQ/quivr/compare/core-v0.0.1...core-0.0.2)
(2024-07-09)


### Features

* **backend:** quivr-monorepo and quivr-core package
([#2765](https://github.com/QuivrHQ/quivr/issues/2765))
([2e75de4](2e75de4039))
* quivr core minimal chat
([#2803](https://github.com/QuivrHQ/quivr/issues/2803))
([1dc6d88](1dc6d88f9b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-09 07:49:44 -07:00
Stan Girard
2e995a6ae9 chore: Update backend/core version to 0.0.1 in release-please-manifest.json 2024-07-09 16:48:12 +02:00
Stan Girard
11e8556d1c
chore(main): release core 0.0.2 (#2814)
🤖 I have created a release *beep* *boop*
---


##
[0.0.2](https://github.com/QuivrHQ/quivr/compare/core-v0.0.1...core-0.0.2)
(2024-07-09)


### Features

* **backend:** quivr-monorepo and quivr-core package
([#2765](https://github.com/QuivrHQ/quivr/issues/2765))
([2e75de4](2e75de4039))
* quivr core minimal chat
([#2803](https://github.com/QuivrHQ/quivr/issues/2803))
([1dc6d88](1dc6d88f9b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-09 07:43:18 -07:00
Stan Girard
c6d794ecb4 chore: release please updated manifest 2024-07-09 16:38:36 +02:00
Stan Girard
b8eb5dc652 chore: Update release-please-core workflow for python package in backend 2024-07-09 16:36:23 +02:00
Stan Girard
85ef336f70
chore(main): release core 0.0.2 (#2813)
🤖 I have created a release *beep* *boop*
---


##
[0.0.2](https://github.com/QuivrHQ/quivr/compare/core-v0.0.1...core-0.0.2)
(2024-07-09)


### Features

* **backend:** quivr-monorepo and quivr-core package
([#2765](https://github.com/QuivrHQ/quivr/issues/2765))
([2e75de4](2e75de4039))
* quivr core minimal chat
([#2803](https://github.com/QuivrHQ/quivr/issues/2803))
([1dc6d88](1dc6d88f9b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-09 07:31:12 -07:00
Stan Girard
ae8bb71142 chore: Update release-please-core workflow for python package in backend 2024-07-09 16:28:54 +02:00
Stan Girard
433e14c0a2
chore(main): release core 0.0.2 (#2812)
🤖 I have created a release *beep* *boop*
---


##
[0.0.2](https://github.com/QuivrHQ/quivr/compare/core-v0.0.1...core-0.0.2)
(2024-07-09)


### Features

* **backend:** quivr-monorepo and quivr-core package
([#2765](https://github.com/QuivrHQ/quivr/issues/2765))
([2e75de4](2e75de4039))
* quivr core minimal chat
([#2803](https://github.com/QuivrHQ/quivr/issues/2803))
([1dc6d88](1dc6d88f9b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2024-07-09 07:21:49 -07:00
Stan Girard
7919c09161 chore: Update GitHub Actions workflows to trigger on tag pushes
This commit updates the GitHub Actions workflows for the backend services (quivr-com-backend, quivr-com, raise-frontend, raise, theodo-backend, and theodo-frontend) to trigger on tag pushes instead of branch pushes. This change allows for more controlled deployments and ensures that only tagged versions are deployed to the respective environments.
2024-07-09 16:07:59 +02:00
Stan Girard
07d25e4208 chore: Add release-please-core workflow and configuration files
This commit adds the release-please-core workflow and configuration files for the python package in the backend. The release-please workflow is triggered on push to the main branch and on manual workflow dispatch. It sets up Python, installs Poetry, configures Poetry, and runs release-please for the backend/core package. The release-please configuration file specifies the release type, package name, bump patch for minor pre-major, changelog notes type, include v in tag, tag separator, and component.
2024-07-09 16:00:31 +02:00
Stan Girard
318b615fcb chore: Update release-please workflow for python package in backend 2024-07-09 15:55:46 +02:00
AmineDiro
1dc6d88f9b
feat: quivr core minimal chat (#2803)
# Description

Minimal working example of `quivr-core` rag with minimal dependencies.

---------

Co-authored-by: aminediro <aminedirhoussi@gmail.com>
2024-07-09 06:22:16 -07:00
Stan Girard
cde7c81de1
feat: Improve error handling in acquiring token (#2807)
The code changes handle the case when the access token is not present in
the result of acquiring the token. It now logs an error message with the
specific reason for the failure and raises an HTTPException with a
corresponding detail message. This improves the error handling and
provides more information to the user.

Note: The commit message follows the convention used in the recent user
commits and adheres to the established format.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-09 01:14:37 -07:00
AmineDiro
1fa79de859
fix: RAG service bug assertion error (#2796)
# Description

Fixes assertion error on brains of brain type integration.
!/!: temporary fix casts user_id to string for the assertion
2024-07-04 06:36:34 -07:00
AmineDiro
757bceeb95
fix: asyncpg pooling config fix (#2795)
# Description

closes #2782.

Changes `sqlalchemy` connection pooling config : 

- **pool_pre_ping=True** : pessimistic disconnect handling. 

> - It is critical to note that the pre-ping approach does not
accommodate **for connections dropped in the middle of transactions or
other SQL operations** ! But this should only happen if we lose the
database either due to network of DB server restart.

- **pool_size=10**, with no db side pooling for now, if 6 uvicorn
process workers are spawned (or 6 instances of the backed) we have a
pool of 60 processes connecting to the database.
- **pool_recycle=1800** :  Recycles the pool every 30min

Added additional session config : 
- expire_on_commit=False, When True, all instances will be fully expired
after each commit, so that all attribute/object access subsequent to a
completed transaction will load from the most recent database state.
- autoflush=False, query operations will issue a Session.flush() call to
this Session before proceeding. We are calling `session.commit` (which
flushes) on each repository method so ne need to reflush on subsequent
access
2024-07-04 05:28:02 -07:00
Chloé Daems
913217f682
feat: add megaparse (#2785)
Add megaparse as the main parser

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-04 02:23:15 -07:00
Stan Girard
2e4b80138c
chore: Update flashrank npm dependency to version 0.2.5 (#2781)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-06-28 09:09:17 -07:00
Stan Girard
49c6eb686a
chore: Add supabase directory to Dockerfile (#2768)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-06-27 05:02:10 -07:00
Stan Girard
1cd5ff6e78
chore: Add ci-migration.sh to Dockerfile (#2767)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-06-27 04:02:15 -07:00
AmineDiro
2e75de4039
feat(backend): quivr-monorepo and quivr-core package (#2765)
# Description

closes #2722.

- Creates `quivr-monorepo` 
- Separates `quivr-core`
- Update dockerfiles and docker-compose

---------

Co-authored-by: aminediro <aminediro@github.com>
2024-06-27 03:51:01 -07:00
Stan Girard
0f51de8f41
chore: Update docker-compose files to specify platform for backend services (#2762)
This pull request updates the docker-compose files to specify the
platform for the backend services as linux/amd64. This ensures that the
services are built and run specifically for the amd64 architecture.
2024-06-26 15:46:18 -07:00
Stan Girard
d8956e55bb
fix: Update email sender parameters in backend code (#2755)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-26 05:21:46 -07:00
AmineDiro
cb3b795a92
closes #2756 (#2757)
# Description

closes #2756 

- Fixed torchvision cpu version in poetry
- Moved test dependencies to dev group

Co-authored-by: aminediro <aminediro@github.com>
2024-06-26 05:04:06 -07:00
AmineDiro
ca93cb9062
refacto(backend): poetry package manager and chat route refactoring (#2684)
# Description
- Added package manager
- Added precommit checks
- Rewrote dependency injection of Services and Repositories
- Integrate async SQL alchemy engine
- Migrate Chat  repository to SQLModel 
- Migrated ChatHistory repository to SQLModel
- User SQLModel
- Unit test methodology with db rollback
- Unit tests ChatRepository
- Test ChatService get_history
- Brain entity SQL Model
- Promp SQLModel
- Rewrite chat/{chat_id}/question route
- updated docker files and docker compose in dev and production

Added `quivr_core` subpackages:
- Refactored KnowledgebrainQa
- Added Rag service to interface with non-rag dependencies

---------

Co-authored-by: aminediro <aminediro@github.com>
2024-06-26 00:58:55 -07:00
Stan Girard
036201d844
feat: Improve efficiency of syncing stripe (#2719)
Fixes #2718

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-24 13:17:48 -07:00
AmineDiro
28cb0ba7e6
fix: check user premium upsert (#2714)
# Description

closes #2713. Quick fix to upsert in `user_settings`

Co-authored-by: aminediro <aminediro@github.com>
2024-06-24 08:38:14 -07:00
Stan Girard
f546fd4d54
fix: Add logic to filter active subscriptions in check_if_is_premium_user function (#2673)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-13 13:45:01 -07:00
Stan Girard
52d121b96f
feat: Add timezone conversion for premium user check (#2670)
This commit adds timezone conversion to the premium user check in the
`check_if_is_premium_user` function. It imports the `pytz` library and
retrieves the current time in the "Europe/Paris" timezone. This ensures
that the comparison of the current period end with the current time is
accurate, taking into account the correct timezone. The Paris time is
logged for debugging purposes.

Co-authored-by: Stan Girard <stan@quivr.app>

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-13 01:54:26 -07:00
Stan Girard
ec58935d9b
feat: Add premium user check in celery task (#2668)
"This pull request adds a new celery task called
`check_if_is_premium_user` that checks if a user is a premium user based
on their subscription status. The task retrieves the list of active
subscriptions and the list of customers from the Supabase database. It
then matches the subscriptions with the customers and updates the user
settings with the corresponding premium features if a match is found. If
a user is not found or their subscription is expired, the user settings
are deleted. This task will run periodically to keep the user settings
up to date with the subscription status.

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-13 01:14:12 -07:00
Stan Girard
6bd1a5b334
fix: name passed in sync authorize (#2665)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-12 05:20:10 -07:00
Stan Girard
83f06dc5d2
fix: Add error handling for syncing in tasks.py (#2663)
This pull request adds error handling for the syncing process in the
tasks.py file. Previously, if an error occurred during the syncing
process, the program would crash. With this change, any exceptions that
occur during syncing will be caught and logged, allowing the program to
continue running. This improves the stability and reliability of the
syncing functionality.

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-12 02:42:16 -07:00
Stan Girard
8e5af2c8c5
feat: Normalize file names in sync module (#2661)
This commit adds a new utility function `remove_special_characters` to
the `normalize.py` module in the `sync/utils` directory. The function
removes special characters from file names by normalizing the input
string and using regular expressions to remove non-alphanumeric
characters.

The function is then used in the `list_files.py` module in the
`sync/utils` directory to normalize the names of files retrieved from
Google Drive and Azure Drive. This ensures that the file names are free
of special characters, improving consistency and compatibility with
other parts of the system.

Co-authored-by: Stan Girard <stan@quivr.app>
2024-06-12 02:08:48 -07:00