Commit graph

454 commits

Author SHA1 Message Date
Igor Ilic
5cfc7b1761 chore: Disable backend access control when not supported 2025-12-01 15:58:19 +01:00
Igor Ilic
2e493cea4c chore: Disable multi user mode for tests that can't run it 2025-12-01 15:07:01 +01:00
Igor Ilic
d81d63390f test: Add test for dataset database handler creation 2025-11-28 16:33:46 +01:00
Igor Ilic
a0c5867977 chore: disable backend access control 2025-11-28 14:56:33 +01:00
Igor Ilic
7e0be8f167 chore: disable backend access control for tests not supporting mode 2025-11-28 13:48:01 +01:00
Igor Ilic
ed9b774448 chore: disable backend access control for deduplication test 2025-11-28 13:11:45 +01:00
Daulet Amirkhanov
056424f244
feat: fs-cache (#1645)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

Implement File-Based Version of the Redis Cache Adapter

Description and acceptance criteria:

This PR introduces a file-based cache adapter as an alternative to the
existing Redis-based adapter. It provides the same core functionality
for caching session data and maintaining context across multiple user
interactions but stores data locally in files instead of Redis.

Because the shared Kùzu lock mechanism relies on Redis, it is not
supported in this implementation. If a lock is configured, the adapter
will raise an error to prevent misconfiguration.

You can test this adapter by enabling caching with the following
settings:

caching=True
cache_backend="fs"

When running multiple searches in a session, the system should correctly
maintain conversational context. For example:

- What is XY?
- Are you sure?
- What was my first question?

In this case, the adapter should preserve previous user–Cognee
interactions within the cache file so that follow-up queries remain
context-aware.


## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [x] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.

---------

Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com>
Co-authored-by: hajdul88 <52442977+hajdul88@users.noreply.github.com>
2025-11-12 15:34:30 +01:00
Igor Ilic
cc0e1a83ab refactor: Disable telemetry for all non telemetry tests 2025-11-11 19:55:29 +01:00
Igor Ilic
76bf99b8a6
Merge branch 'dev' into multi-tenancy 2025-11-11 12:51:19 +01:00
Andrej Milićević
b5a09dfb53
test: fix weighted edges example (#1745)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->
Changed the key used for openai, since we changed the keys in the
secrets.

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.
2025-11-11 11:39:57 +01:00
Igor Ilic
8a72de8f86 Merge branch 'dev' into multi-tenancy 2025-11-07 15:52:40 +01:00
Igor Ilic
59f758d5c2 feat: Add test for multi tenancy, add ability to share name for dataset across tenants for one user 2025-11-07 15:50:49 +01:00
Pavel Zorin
7d5d19347a CI: removed unnecessary ulimit 2025-11-07 11:11:05 +01:00
Pavel Zorin
49fbad9ec0 CI: Run release workflow on PR to main 2025-11-06 16:44:43 +01:00
Pavel Zorin
d5caba144c CI: Initial Release test workflow 2025-11-06 16:01:39 +01:00
Andrej Milicevic
62c599a499 test: add dev to CI config for weighted edges tests 2025-11-06 13:13:35 +01:00
Andrej Milicevic
6b81559bb6 test: changed endpoints in other tests 2025-11-06 13:04:01 +01:00
Andrej Milicevic
286584eef0 test: change embedding config 2025-11-06 12:35:37 +01:00
Andrej Milicevic
4567ffcfff test: change endpoint 2025-11-06 12:27:10 +01:00
Andrej Milicevic
5dc8d4e8a1 test: remove workflow_dispatch 2025-11-06 11:52:39 +01:00
Andrej Milicevic
cdb06d2157 test: add workflow_dispatch for test purposes 2025-11-06 11:50:58 +01:00
Andrej Milicevic
cc60141c8d test: change key for wighted edges example 2025-11-06 11:46:34 +01:00
Vasilije
69c7aa2559
test: add load tests (#1573)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->
Added a load test to out codebase. The test runs N adds of a pdf, then
cognifies them and runs N searches. Cognify and the searches are
measured, with certain constraints on how fast they should be. We can
tweak the values if necessary, these are values for the gpt-5-mini
model.

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Introduce a load test for S3 ingest, cognify, and concurrent searches
with timing thresholds, and wire it into CI.
> 
> - **Tests**:
> - Add `cognee/tests/test_load.py` to measure end-to-end load: prunes
data/system, ingests from `s3://cognee-test-load-s3-bucket`, runs
`cognify` then concurrent GRAPH_COMPLETION searches, records timings
across reps, and asserts avg ≤ 8m and each run ≤ 10m.
> - **CI**:
> - Add `test-load` job in `.github/workflows/e2e_tests.yml`: installs
AWS deps, raises file descriptor limit, configures S3/env secrets, and
executes the new load test.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
c7598122bb. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-11-06 08:42:01 +01:00
Vasilije
8cc55ac0b2
refactor: Enable multi user mode by default if graph and vector db pr… (#1695)
…oviders support it

<!-- .github/pull_request_template.md -->

## Description
Enable multi user mode by default for supported graph and vector DBs

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [x] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.
2025-11-06 08:40:06 +01:00
Vasilije
c7598122bb
Merge branch 'dev' into feature/cog-3165-add-load-tests 2025-11-05 14:49:29 +01:00
Igor Ilic
bee2fe3ba7
feat: Add initial custom pipeline (#1716)
<!-- .github/pull_request_template.md -->

## Description
Add run_custom_pipeline to have a way to execute a custom collection of tasks in Cognee

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.
2025-11-04 17:58:34 +01:00
Pavel Zorin
e11a8b9a51 CI: Added timeouts for all OS tests 2025-11-04 12:13:48 +01:00
Andrej Milicevic
a7d63df98c test: add extra aws dependency to load test 2025-11-03 18:15:18 +01:00
Andrej Milicevic
eb8df45dab test: increase file descriptor limit on workflow load test 2025-11-03 18:10:19 +01:00
Andrej Milicevic
d0a3bfd39f merged dev into this branch 2025-11-03 17:08:08 +01:00
Pavel Zorin
b8241e58e5 CI: Limit deletion integration tests to 60 minutes 2025-11-03 16:20:03 +01:00
Igor Ilic
baac00923c
Merge branch 'dev' into enable-multi-user-mode-default 2025-11-03 15:57:06 +01:00
Vasilije
8d7c4d5384
CI: (dev)Extract Windows and MacOS tests to separate job (#1715)
<!-- .github/pull_request_template.md -->

## Description
Reduces the amount of macOS and Windows jobs by running these tests only
for the latest python version in the list.
`different-os-tests-basic` runs tests on ubuntu and python `'["3.10.x",
"3.11.x", "3.12.x", "3.13.x"]'`
`different-os-tests-extended` runs windows and macOS tests for python
`3.13.x`.

<img width="255" height="385" alt="Screenshot 2025-10-31 at 12 36 11"
src="https://github.com/user-attachments/assets/73813d69-70a1-40a6-8197-b323ddc7d365"
/>

<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.
2025-11-01 06:50:08 +01:00
Igor Ilic
f368a1a4d5 fix: set tests to not use multi-user mode 2025-10-31 20:10:05 +01:00
Pavel Zorin
737f792ac6 use api/embed for ollama api 2025-10-31 13:43:29 +01:00
Pavel Zorin
5d2d4e51f1 Ollama: Use openAI compatible embeggings API 2025-10-31 13:30:26 +01:00
Pavel Zorin
645bda38e3 chore: Fix Ollama test / update Ollama API usage 2025-10-31 13:23:49 +01:00
Pavel Zorin
a60e53964c
Potential fix for code scanning alert no. 399: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-10-31 12:37:38 +01:00
Pavel Zorin
b30b52921a Remove trailing whitespaces 2025-10-30 13:08:09 +03:00
Pavel Zorin
e5df629ff3 CI: Extract Windows and MacOS tests to separate job 2025-10-30 12:51:43 +03:00
Vasilije
9865e4c5ec
Merge branch 'dev' into main 2025-10-29 20:34:58 +01:00
Vasilije
7f6f7bbc70
Simplify Docker Buildx setup in workflow
Removed unnecessary buildkitd-flags and provenance options.
2025-10-25 13:40:21 +02:00
Vasilije
f658510255
Change runner group from 'Runners' to 'Default' 2025-10-25 12:51:38 +02:00
vasilije
55d213f17d added a new runner 2025-10-25 12:47:50 +02:00
vasilije
c6c11d4973 added storage check 2025-10-25 12:29:14 +02:00
vasilije
9d497adb24 fixing the docker build 2025-10-25 12:20:49 +02:00
Daulet Amirkhanov
fa54469ea3 fix: remove redundant SDKs to reduce space used on Github Runner 2025-10-24 14:31:14 +01:00
lxobr
aba5f9ba55 test: add e2e feedback enrichment test 2025-10-23 17:09:15 +02:00
Vasilije
d0af7c3274
Merge branch 'dev' into main 2025-10-22 19:58:38 +02:00
hajdul88
22d3c20b90 chore:changes temporal tests llm provider to openai 2025-10-22 18:29:09 +02:00