Commit graph

3573 commits

Author SHA1 Message Date
Daulet Amirkhanov
d480ea23a1 docs: clarify API_TOKEN requirement in README and improve JSON handling in CogneeClient 2025-10-10 16:03:16 +01:00
Daulet Amirkhanov
c7ca4c6782 chore: update Docker image comment and improve import handling for CogneeClient 2025-10-10 16:02:58 +01:00
Daulet Amirkhanov
446a378b03 chore: update Docker image for MCP server to feature branch for testing 2025-10-10 14:39:08 +01:00
Daulet Amirkhanov
fb03f9ce93
Merge branch 'dev' into feat/mcp-add-support-for-non-standalone-mode 2025-10-10 14:22:16 +01:00
Igor Ilic
2f9c3f030b
refactor: user different top_k number to reflect upgrades made to rel… (#1527)
… db migration

<!-- .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.
-->

## 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-10-10 15:16:10 +02:00
Daulet Amirkhanov
2c8d8e8058 feat: handle cli processes cleanup when terminal window is closed 2025-10-09 19:47:52 +01:00
Daulet Amirkhanov
079a5528b0 handle mcp shutdown cleanly, and remove the need for .env if in standalone mode 2025-10-09 16:09:43 +01:00
Daulet Amirkhanov
0031a13f44 Refactor initialization of CogneeClient to use bool for API mode determination 2025-10-09 16:09:43 +01:00
Daulet Amirkhanov
c58d9ad12f switch docker image from dev to main 2025-10-09 16:09:43 +01:00
Boris
a8dab3019e
fix: frontend UI graph rendering on search (#1524)
<!-- .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.
-->

zoomToFit wrapper returned undefined when graph ref wasn't ready


## 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-10-09 16:24:32 +02:00
Daulet Amirkhanov
5f99f4c3b7
Merge branch 'dev' into fix/fix-frontend-ui-graph-rendering-on-search 2025-10-09 15:22:44 +01:00
Daulet Amirkhanov
79fb0595d8 feat: fix zoomToFit method usage GraphVisualization 2025-10-09 15:22:23 +01:00
Daulet Amirkhanov
67306786f1 docs: update README.md 2025-10-09 14:03:26 +01:00
Daulet Amirkhanov
bd49dd7bb5 Configure cognee-cli -ui mcp to connect to cognee backend 2025-10-09 14:01:28 +01:00
hajdul88
faeca138d9
fix: fixes distributed pipeline (#1454)
<!-- .github/pull_request_template.md -->

## Description
This PR fixes distributed pipeline + updates core changes in distr
logic.

## Type of Change
<!-- Please check the relevant option -->
- [x] 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
- [x] Code refactoring
- [x] Performance improvement
- [ ] Other (please specify):

## Changes Made
Fixes distributed pipeline:
-Changed spawning logic + adds incremental loading to
run_tasks_diistributed
-Adds batching to consumer nodes
-Fixes consumer stopping criteria by adding stop signal + handling
-Changed edge embedding solution to avoid huge network load in a case of
a multicontainer environment

## Testing
Tested it by running 1GB on modal + manually

## Screenshots/Videos (if applicable)
None

## 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**
- [ ] 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

## Related Issues
None

## Additional Notes
None

## 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: Boris <boris@topoteretes.com>
Co-authored-by: Boris Arzentar <borisarzentar@gmail.com>
2025-10-09 14:06:25 +02:00
Andrej Milićević
01632988fe
test: replace neo4j usages in cicd with reusable local instances (#1507)
<!-- .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 from remote to local Neo4j instance in tests because CI was
failing due to multiple tests using the remote instance in parallel.

## 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 -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **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.

---------

Co-authored-by: Andrej Milicevic <milicevi@Andrejs-MacBook-Pro.local>
Co-authored-by: Igor Ilic <30923996+dexters1@users.noreply.github.com>
2025-10-09 12:39:18 +02:00
Daulet Amirkhanov
3e23c96595 route server tools calls through cognee_client 2025-10-08 18:36:44 +01:00
Daulet Amirkhanov
806298d508 create cognee_client for handling api calls 2025-10-08 18:36:08 +01:00
Daulet Amirkhanov
c54c3546fc chore: add Docker image pull for MCP in start_ui function 2025-10-08 18:18:43 +01:00
Daulet Amirkhanov
583923903c
chore: update cognee-cli to use MCP Docker image from main. Bring back deprecation warnings (#1491)
<!-- .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.
-->

## 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-10-07 22:22:12 +01:00
Daulet Amirkhanov
4b14bd7566
Feat/improve exception raising for better debugging (#1512)
<!-- .github/pull_request_template.md -->

## Description

When raising exceptions, in some places we lose the stack trace, or in
some cases when we raise custom exceptions - we also lose any metadata
from original exception that could help pinpoint the issue.

This PR updates exception throwing to use [`raise ...
from`](https://docs.python.org/3/reference/simple_stmts.html#raise),
which:
1. preserves stack trace
2. when we throw custom exception, indicates that our exception was
caused by XYZ exception

_this is a scoped down version for upcoming release, rest of the changes
are in #1518_

<!--
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-10-07 22:19:22 +01:00
Daulet Amirkhanov
4190a7a232
Fix/fix broken health check endpoint (#1516)
<!-- .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.
-->

Cognee health check endpoint, specifically `llm_provider` is broken.

To reproduce: `cognee-cli -ui`:

```
[BACKEND] 2025-10-07T20:05:51.751303 [info     ] JSON extension already loaded or unavailable: Binder exception: Extension: JSON is already loaded. You can check loaded extensions by `CALL SHOW_LOADED_EXTENSIONS() RETURN *`. [cognee.shared.logging_utils]
[BACKEND] 2025-10-07T20:05:51.763217 [error    ] LLM provider health check failed: type object 'LLMGateway' has no attribute 'show_prompt' [cognee.shared.logging_utils] exception_message="type object 'LLMGateway' has no attribute 'show_prompt'" traceback=True
[BACKEND] ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
[BACKEND] │ /Users/daulet/Desktop/dev/cognee-claude/cognee/api/health.py:197 in check_llm_provider           │
[BACKEND] │                                                                                                  │
[BACKEND] │   194 │   │   │   config = get_llm_config()                                                      │
[BACKEND] │   195 │   │   │                                                                                  │
[BACKEND] │   196 │   │   │   # Test actual API connection with minimal request                              │
[BACKEND] │ ❱ 197 │   │   │   LLMGateway.show_prompt("test", "test.txt")                                     │
[BACKEND] │   198 │   │   │                                                                                  │
[BACKEND] │   199 │   │   │   response_time = int((time.time() - start_time) * 1000)                         │
[BACKEND] │   200 │   │   │   return ComponentHealth(                                                        │
[BACKEND] │                                                                                                  │
[BACKEND] │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
[BACKEND] │ │         config = LLMConfig(                                                                  │ │
[BACKEND] │ │                  │   structured_output_framework='instructor',                               │ │
[BACKEND] │ │                  │   llm_provider='openai',                                                  │ │
[BACKEND] │ │                  │   llm_model='openai/gpt-4o-mini',                                         │ │
[BACKEND] │ │                  │   llm_endpoint='',                                                        │ │
[BACKEND] │ │                  │                                                                           │ │
[BACKEND] │ │                  llm_api_key='sk-proj-UIN_gS06M_6Zy-j4ABRZ6xrr0XR6tV5HyeaRvX4Aq5R3aJ1NNT0XP… │ │
[BACKEND] │ │                  │   llm_api_version=None,                                                   │ │
[BACKEND] │ │                  │   llm_temperature=0.0,                                                    │ │
[BACKEND] │ │                  │   llm_streaming=False,                                                    │ │
[BACKEND] │ │                  │   llm_max_completion_tokens=16384,                                        │ │
[BACKEND] │ │                  │   baml_llm_provider='openai',                                             │ │
[BACKEND] │ │                  │   baml_llm_model='gpt-5-mini',                                            │ │
[BACKEND] │ │                  │   baml_llm_endpoint='',                                                   │ │
[BACKEND] │ │                  │   baml_llm_api_key=None,                                                  │ │
[BACKEND] │ │                  │   baml_llm_temperature=0.0,                                               │ │
[BACKEND] │ │                  │   baml_llm_api_version='',                                                │ │
[BACKEND] │ │                  │   transcription_model='whisper-1',                                        │ │
[BACKEND] │ │                  │   graph_prompt_path='generate_graph_prompt.txt',                          │ │
[BACKEND] │ │                  │   temporal_graph_prompt_path='generate_event_graph_prompt.txt',           │ │
[BACKEND] │ │                  │   event_entity_prompt_path='generate_event_entity_prompt.txt',            │ │
[BACKEND] │ │                  │   llm_rate_limit_enabled=False,                                           │ │
[BACKEND] │ │                  │   llm_rate_limit_requests=60,                                             │ │
[BACKEND] │ │                  │   llm_rate_limit_interval=60,                                             │ │
[BACKEND] │ │                  │   embedding_rate_limit_enabled=False,                                     │ │
[BACKEND] │ │                  │   embedding_rate_limit_requests=60,                                       │ │
[BACKEND] │ │                  │   embedding_rate_limit_interval=60,                                       │ │
[BACKEND] │ │                  │   fallback_api_key='',                                                    │ │
[BACKEND] │ │                  │   fallback_endpoint='',                                                   │ │
[BACKEND] │ │                  │   fallback_model='',                                                      │ │
[BACKEND] │ │                  │   baml_registry=None,                                                     │ │
[BACKEND] │ │                  │                                                                           │ │
[BACKEND] │ │                  cognee_cloud_auth_token='9611fd02214a51f0930ca0d6d445daea63bc5392d85746fb'  │ │
[BACKEND] │ │                  )                                                                           │ │
[BACKEND] │ │              e = AttributeError("type object 'LLMGateway' has no attribute 'show_prompt'")   │ │
[BACKEND] │ │ get_llm_config = <functools._lru_cache_wrapper object at 0x123954f60>                        │ │
[BACKEND] │ │  response_time = 0                                                                           │ │
[BACKEND] │ │           self = <cognee.api.health.HealthChecker object at 0x33f442980>                     │ │
[BACKEND] │ │     start_time = 1759867551.7631629                                                          │ │
[BACKEND] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
[BACKEND] ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
[BACKEND] AttributeError: type object 'LLMGateway' has no attribute 'show_prompt'
[BACKEND] EmbeddingRateLimiter initialized: enabled=False, requests_limit=60, interval_seconds=60
```

This is due to deprecated LLMGateway method that is no longer there,
which was used in healthcheck.

## Type of Change
<!-- Please check the relevant option -->
- [x] 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-10-07 22:19:09 +01:00
Daulet Amirkhanov
978549106c chore: use dev env in test_s3 CI 2025-10-07 22:04:26 +01:00
Daulet Amirkhanov
ee079604f4 chore: keep exception handling changes to instructor adapters 2025-10-07 22:03:16 +01:00
Daulet Amirkhanov
405b65f857 refactor: Simplify health check methods by using utility functions for LLM and embedding connections 2025-10-07 21:26:25 +01:00
Daulet Amirkhanov
c1e467209f
Merge branch 'dev' into fix/fix-broken-health-check-endpoint 2025-10-07 21:21:54 +01:00
Daulet Amirkhanov
ada3753534 fix: fix broken check_llm_provider healthcheck method 2025-10-07 21:18:00 +01:00
Igor Ilic
c81315d177
chore: Update release version (#1514)
<!-- .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.
-->

## 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-10-07 22:07:11 +02:00
Igor Ilic
c9c5406aca
fix: Remove cognee endpoint from cognee core to allow MCP users to us… (#1513)
…e cognee endpoint

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

## Description
Remove cognee endpoint from core as it clashes with cognee endpoint from
cognee-mcp

## 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-10-07 21:59:57 +02:00
Igor Ilic
2b04a35309
chore: Update lock files (#1511)
<!-- .github/pull_request_template.md -->

## Description
update lock files

## 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-10-07 21:16:43 +02:00
Daulet Amirkhanov
6aeaa6877a
Merge branch 'dev' into chore/update-cognee-ui-cli-mcp-docker-image 2025-10-07 19:52:17 +01:00
Igor Ilic
840991c36f
refactor: Don't use async lock if not needed (#1510)
<!-- .github/pull_request_template.md -->

## Description
Reduce time PGVector is using async lock, by checking if collection
exists before taking async lock

## 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-10-07 20:44:10 +02:00
Igor Ilic
e7709f7bd0
fix: Resolve issue with Kuzu graph database persistence on our local … (#1490)
…Docker

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

## Description
Resolves issue with kuzu graph data persistence for Cognee backend
docker

## Type of Change
<!-- Please check the relevant option -->
- [x] 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):

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

---------

Co-authored-by: Boris <boris@topoteretes.com>
2025-10-07 20:38:43 +02:00
Daulet Amirkhanov
dda44b0a4b chore: change cognee-mcp deprecation message 2025-10-07 19:30:25 +01:00
Igor Ilic
f81d427466
Main merge vol7 (#1509)
<!-- .github/pull_request_template.md -->

## Description
Merge main to dev

## 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-10-07 20:17:30 +02:00
Igor Ilic
0ef2623ac6
refactor: use gpt-5-mini by default (#1505)
<!-- .github/pull_request_template.md -->

## Description
Set gpt-5-mini back to default LLM as issues with it have been resolved

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

## 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-10-07 20:17:10 +02:00
Igor Ilic
b4eaea2133 Merge branch 'main' into main-merge-vol7 2025-10-07 19:56:38 +02:00
Igor Ilic
3b8b839057
fix: Resolve pydantic issue regarding deprecation (#1508)
<!-- .github/pull_request_template.md -->

## Description
Fix latest pydantic version issues

## 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-10-07 19:54:59 +02:00
Boris
b01cf4e6bd
Merge branch 'dev' into chore/update-cognee-ui-cli-mcp-docker-image 2025-10-07 19:33:33 +02:00
Igor Ilic
7b5bba2b18
refactor: Unify dataset resolution (#1488)
<!-- .github/pull_request_template.md -->

## Description
Unified dataset resolution mechanisms across 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
- [x] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## 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-10-07 19:14:46 +02:00
Boris
c2698094c6
fix: frontend process output streaming stuck due to incorrect output (#1503)
<!-- .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.
-->

`cognee-cli -ui` has accidentally added - when opening frontend
subprocess - an output decoding into text.

## What happens exactly

On the surface - frontend ui will be stuck loading.

Frontend process hangs as it's output is not being processed (we're
expecting bytes).

## This change

This change removes the `text=True` added to frontend subprocess

## 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-10-07 18:13:40 +02:00
Igor Ilic
38cdacbcb6
fix: Resolve issue with Gemini adapter (#1494)
<!-- .github/pull_request_template.md -->

## Description
Resolve Gemini Adapter issues:
 1. resolve embedding batch issue,
2. Resolve slowness because gemini tokenizer was sending word per word
to Googles API to count tokens (using OpenAI's local tokenizer to count
tokens for Gemini now)
 3. Update deprecated library and move to instructor

## Type of Change
<!-- Please check the relevant option -->
- [x] 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):

## 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-10-07 18:04:18 +02:00
Daulet Amirkhanov
263a8f4376 fix: frontend process output streaming stuck due to incorrect output 2025-10-06 14:18:39 +01:00
Daulet Amirkhanov
24d0bec025
Merge branch 'dev' into chore/update-cognee-ui-cli-mcp-docker-image 2025-10-06 14:13:03 +01:00
Daulet Amirkhanov
ee45afed42
Fix test_cli_edge_cases, test_delete_all_with_user_id unit test (#1493)
<!-- .github/pull_request_template.md -->
## Description

Github Actions job:


https://github.com/topoteretes/cognee/actions/runs/18199627173/job/51815009426?pr=1493


<!--
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 -->
- [x] 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-10-02 18:00:00 +01:00
Daulet Amirkhanov
38070c489b fix test_cli_edge_cases.py, test_delete_all_with_user_id unit test 2025-10-02 17:44:01 +01:00
Daulet Amirkhanov
2efce6949b
Feature/delete preview (#1385)
## Description

This pull request introduces a preview step to the `cognee delete`
command, fulfilling the requirements of issue #1366

When a user runs the delete command, it now first queries the database
to calculate the scope of the deletion and presents a summary (number of
datasets, data entries, users) before asking for final confirmation.
This improves the safety and usability of the command, preventing
accidental data loss.

This PR also adds the `--force` flag to bypass the preview, which is
useful for scripting and automation.

## Type of Change

- [x] New feature (non-breaking change that adds functionality)
- [ ] Bug fix (non-breaking change that fixes an issue)

## Changes Made

- **`cognee/cli/commands/delete_command.py`**: Modified to include the
preview logic. It now calls the counting function, displays the results,
and proceeds with deletion only after confirmation.
- **`cognee/modules/data/methods/get_deletion_counts.py`**: Added this
new file to contain the logic for querying the database and calculating
the deletion counts for datasets, data entries, and users.

## Testing

I have tested the changes through **Manual CLI Testing**: I ran the
`cognee delete` command with the `--dataset-name`, `--user-id`, and
`--all` flags to manually verify that the preview output is correct.

### Terminal Output
Here are screenshots of the command working with the all possible flags:
<img width="1898" height="1087" alt="cognee1"
src="https://github.com/user-attachments/assets/939aa4d0-748c-45e4-a2a6-f5e7982c1fc0"
/>
<img width="1788" height="748" alt="cognee2"
src="https://github.com/user-attachments/assets/213884be-cce1-4007-90f9-5e6d3a302ced"
/>

## Pre-submission Checklist

- [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 feature works
- [ ] I have not added or changed documentation (as it was not required
for this CLI change)
- [x] I have searched existing PRs to ensure this change has been
submitted already
- [x] I have linked the relevant issue in the description

## Related Issues

Fixes #1366 

## 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-10-02 15:21:57 +01:00
Daulet Amirkhanov
a92f4bdf3f fix: update failing tests and refactor delete_preview implementation 2025-10-02 15:05:39 +01:00
Daulet Amirkhanov
d5dd6c2fc2
Merge branch 'dev' into feature/delete-preview 2025-10-02 12:02:16 +01:00
shehab-badawy
9c87a10848 feat: Add delete preview for --dataset-name and --all flags
This commit introduces the preview functionality for the  command. The preview displays a summary of what will be deleted before asking for user confirmation.

The feature is fully functional for the following flags:
-  / : Correctly counts the number of data entries within the specified dataset.
- : Correctly counts the total number of datasets, data entries, and users in the system.

The logic for the  flag is a work in progress. The current implementation uses a placeholder and needs a method to query a user directly by their ID to be completed.
2025-10-02 01:44:11 -04:00