cognee 0.5.1__py3-none-any.whl → 0.5.1.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. cognee/api/v1/add/add.py +2 -1
  2. cognee/api/v1/datasets/routers/get_datasets_router.py +1 -0
  3. cognee/api/v1/memify/routers/get_memify_router.py +1 -0
  4. cognee/api/v1/search/search.py +0 -4
  5. cognee/infrastructure/databases/relational/config.py +16 -1
  6. cognee/infrastructure/databases/relational/create_relational_engine.py +13 -3
  7. cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py +24 -2
  8. cognee/infrastructure/databases/vector/create_vector_engine.py +9 -2
  9. cognee/infrastructure/llm/LLMGateway.py +0 -13
  10. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/anthropic/adapter.py +17 -12
  11. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/gemini/adapter.py +31 -25
  12. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/generic_llm_api/adapter.py +132 -7
  13. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/get_llm_client.py +5 -5
  14. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/llm_interface.py +2 -6
  15. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/mistral/adapter.py +58 -13
  16. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/ollama/adapter.py +0 -1
  17. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/openai/adapter.py +25 -131
  18. cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/types.py +10 -0
  19. cognee/modules/data/models/Data.py +2 -1
  20. cognee/modules/retrieval/triplet_retriever.py +1 -1
  21. cognee/modules/retrieval/utils/brute_force_triplet_search.py +0 -18
  22. cognee/modules/search/methods/search.py +18 -25
  23. cognee/tasks/ingestion/data_item.py +8 -0
  24. cognee/tasks/ingestion/ingest_data.py +12 -1
  25. cognee/tasks/ingestion/save_data_item_to_storage.py +5 -0
  26. cognee/tests/integration/retrieval/test_chunks_retriever.py +252 -0
  27. cognee/tests/integration/retrieval/test_graph_completion_retriever.py +268 -0
  28. cognee/tests/integration/retrieval/test_graph_completion_retriever_context_extension.py +226 -0
  29. cognee/tests/integration/retrieval/test_graph_completion_retriever_cot.py +218 -0
  30. cognee/tests/integration/retrieval/test_rag_completion_retriever.py +254 -0
  31. cognee/tests/{unit/modules/retrieval/structured_output_test.py → integration/retrieval/test_structured_output.py} +87 -77
  32. cognee/tests/integration/retrieval/test_summaries_retriever.py +184 -0
  33. cognee/tests/integration/retrieval/test_temporal_retriever.py +306 -0
  34. cognee/tests/integration/retrieval/test_triplet_retriever.py +35 -0
  35. cognee/tests/test_custom_data_label.py +68 -0
  36. cognee/tests/test_search_db.py +334 -181
  37. cognee/tests/unit/eval_framework/benchmark_adapters_test.py +25 -0
  38. cognee/tests/unit/eval_framework/corpus_builder_test.py +33 -4
  39. cognee/tests/unit/infrastructure/databases/relational/test_RelationalConfig.py +69 -0
  40. cognee/tests/unit/modules/retrieval/chunks_retriever_test.py +181 -199
  41. cognee/tests/unit/modules/retrieval/conversation_history_test.py +338 -0
  42. cognee/tests/unit/modules/retrieval/graph_completion_retriever_context_extension_test.py +454 -162
  43. cognee/tests/unit/modules/retrieval/graph_completion_retriever_cot_test.py +674 -156
  44. cognee/tests/unit/modules/retrieval/graph_completion_retriever_test.py +625 -200
  45. cognee/tests/unit/modules/retrieval/rag_completion_retriever_test.py +319 -203
  46. cognee/tests/unit/modules/retrieval/summaries_retriever_test.py +189 -155
  47. cognee/tests/unit/modules/retrieval/temporal_retriever_test.py +539 -58
  48. cognee/tests/unit/modules/retrieval/test_brute_force_triplet_search.py +218 -9
  49. cognee/tests/unit/modules/retrieval/test_completion.py +343 -0
  50. cognee/tests/unit/modules/retrieval/test_graph_summary_completion_retriever.py +157 -0
  51. cognee/tests/unit/modules/retrieval/test_user_qa_feedback.py +312 -0
  52. cognee/tests/unit/modules/retrieval/triplet_retriever_test.py +246 -0
  53. {cognee-0.5.1.dist-info → cognee-0.5.1.dev0.dist-info}/METADATA +1 -1
  54. {cognee-0.5.1.dist-info → cognee-0.5.1.dev0.dist-info}/RECORD +58 -45
  55. cognee/tests/unit/modules/search/test_search.py +0 -100
  56. {cognee-0.5.1.dist-info → cognee-0.5.1.dev0.dist-info}/WHEEL +0 -0
  57. {cognee-0.5.1.dist-info → cognee-0.5.1.dev0.dist-info}/entry_points.txt +0 -0
  58. {cognee-0.5.1.dist-info → cognee-0.5.1.dev0.dist-info}/licenses/LICENSE +0 -0
  59. {cognee-0.5.1.dist-info → cognee-0.5.1.dev0.dist-info}/licenses/NOTICE.md +0 -0
@@ -81,3 +81,249 @@ async def test_get_context_collection_not_found_error(mock_vector_engine):
81
81
  ):
82
82
  with pytest.raises(NoDataError, match="No data found"):
83
83
  await retriever.get_context("test query")
84
+
85
+
86
+ @pytest.mark.asyncio
87
+ async def test_get_context_empty_payload_text(mock_vector_engine):
88
+ """Test get_context handles missing text in payload."""
89
+ mock_result = MagicMock()
90
+ mock_result.payload = {}
91
+
92
+ mock_vector_engine.search.return_value = [mock_result]
93
+
94
+ retriever = TripletRetriever()
95
+
96
+ with patch(
97
+ "cognee.modules.retrieval.triplet_retriever.get_vector_engine",
98
+ return_value=mock_vector_engine,
99
+ ):
100
+ with pytest.raises(KeyError):
101
+ await retriever.get_context("test query")
102
+
103
+
104
+ @pytest.mark.asyncio
105
+ async def test_get_context_single_triplet(mock_vector_engine):
106
+ """Test get_context with single triplet result."""
107
+ mock_result = MagicMock()
108
+ mock_result.payload = {"text": "Single triplet"}
109
+
110
+ mock_vector_engine.search.return_value = [mock_result]
111
+
112
+ retriever = TripletRetriever()
113
+
114
+ with patch(
115
+ "cognee.modules.retrieval.triplet_retriever.get_vector_engine",
116
+ return_value=mock_vector_engine,
117
+ ):
118
+ context = await retriever.get_context("test query")
119
+
120
+ assert context == "Single triplet"
121
+
122
+
123
+ @pytest.mark.asyncio
124
+ async def test_init_defaults():
125
+ """Test TripletRetriever initialization with defaults."""
126
+ retriever = TripletRetriever()
127
+
128
+ assert retriever.user_prompt_path == "context_for_question.txt"
129
+ assert retriever.system_prompt_path == "answer_simple_question.txt"
130
+ assert retriever.top_k == 5 # Default is 5
131
+ assert retriever.system_prompt is None
132
+
133
+
134
+ @pytest.mark.asyncio
135
+ async def test_init_custom_params():
136
+ """Test TripletRetriever initialization with custom parameters."""
137
+ retriever = TripletRetriever(
138
+ user_prompt_path="custom_user.txt",
139
+ system_prompt_path="custom_system.txt",
140
+ system_prompt="Custom prompt",
141
+ top_k=10,
142
+ )
143
+
144
+ assert retriever.user_prompt_path == "custom_user.txt"
145
+ assert retriever.system_prompt_path == "custom_system.txt"
146
+ assert retriever.system_prompt == "Custom prompt"
147
+ assert retriever.top_k == 10
148
+
149
+
150
+ @pytest.mark.asyncio
151
+ async def test_get_completion_without_context(mock_vector_engine):
152
+ """Test get_completion retrieves context when not provided."""
153
+ mock_result = MagicMock()
154
+ mock_result.payload = {"text": "Test triplet"}
155
+ mock_vector_engine.has_collection.return_value = True
156
+ mock_vector_engine.search.return_value = [mock_result]
157
+
158
+ retriever = TripletRetriever()
159
+
160
+ with (
161
+ patch(
162
+ "cognee.modules.retrieval.triplet_retriever.get_vector_engine",
163
+ return_value=mock_vector_engine,
164
+ ),
165
+ patch(
166
+ "cognee.modules.retrieval.triplet_retriever.generate_completion",
167
+ return_value="Generated answer",
168
+ ),
169
+ patch("cognee.modules.retrieval.triplet_retriever.CacheConfig") as mock_cache_config,
170
+ ):
171
+ mock_config = MagicMock()
172
+ mock_config.caching = False
173
+ mock_cache_config.return_value = mock_config
174
+
175
+ completion = await retriever.get_completion("test query")
176
+
177
+ assert isinstance(completion, list)
178
+ assert len(completion) == 1
179
+ assert completion[0] == "Generated answer"
180
+
181
+
182
+ @pytest.mark.asyncio
183
+ async def test_get_completion_with_provided_context(mock_vector_engine):
184
+ """Test get_completion uses provided context."""
185
+ retriever = TripletRetriever()
186
+
187
+ with (
188
+ patch(
189
+ "cognee.modules.retrieval.triplet_retriever.generate_completion",
190
+ return_value="Generated answer",
191
+ ),
192
+ patch("cognee.modules.retrieval.triplet_retriever.CacheConfig") as mock_cache_config,
193
+ ):
194
+ mock_config = MagicMock()
195
+ mock_config.caching = False
196
+ mock_cache_config.return_value = mock_config
197
+
198
+ completion = await retriever.get_completion("test query", context="Provided context")
199
+
200
+ assert isinstance(completion, list)
201
+ assert len(completion) == 1
202
+ assert completion[0] == "Generated answer"
203
+
204
+
205
+ @pytest.mark.asyncio
206
+ async def test_get_completion_with_session(mock_vector_engine):
207
+ """Test get_completion with session caching enabled."""
208
+ mock_result = MagicMock()
209
+ mock_result.payload = {"text": "Test triplet"}
210
+ mock_vector_engine.has_collection.return_value = True
211
+ mock_vector_engine.search.return_value = [mock_result]
212
+
213
+ retriever = TripletRetriever()
214
+
215
+ mock_user = MagicMock()
216
+ mock_user.id = "test-user-id"
217
+
218
+ with (
219
+ patch(
220
+ "cognee.modules.retrieval.triplet_retriever.get_vector_engine",
221
+ return_value=mock_vector_engine,
222
+ ),
223
+ patch(
224
+ "cognee.modules.retrieval.triplet_retriever.get_conversation_history",
225
+ return_value="Previous conversation",
226
+ ),
227
+ patch(
228
+ "cognee.modules.retrieval.triplet_retriever.summarize_text",
229
+ return_value="Context summary",
230
+ ),
231
+ patch(
232
+ "cognee.modules.retrieval.triplet_retriever.generate_completion",
233
+ return_value="Generated answer",
234
+ ),
235
+ patch(
236
+ "cognee.modules.retrieval.triplet_retriever.save_conversation_history",
237
+ ) as mock_save,
238
+ patch("cognee.modules.retrieval.triplet_retriever.CacheConfig") as mock_cache_config,
239
+ patch("cognee.modules.retrieval.triplet_retriever.session_user") as mock_session_user,
240
+ ):
241
+ mock_config = MagicMock()
242
+ mock_config.caching = True
243
+ mock_cache_config.return_value = mock_config
244
+ mock_session_user.get.return_value = mock_user
245
+
246
+ completion = await retriever.get_completion("test query", session_id="test_session")
247
+
248
+ assert isinstance(completion, list)
249
+ assert len(completion) == 1
250
+ assert completion[0] == "Generated answer"
251
+ mock_save.assert_awaited_once()
252
+
253
+
254
+ @pytest.mark.asyncio
255
+ async def test_get_completion_with_session_no_user_id(mock_vector_engine):
256
+ """Test get_completion with session config but no user ID."""
257
+ mock_result = MagicMock()
258
+ mock_result.payload = {"text": "Test triplet"}
259
+ mock_vector_engine.has_collection.return_value = True
260
+ mock_vector_engine.search.return_value = [mock_result]
261
+
262
+ retriever = TripletRetriever()
263
+
264
+ with (
265
+ patch(
266
+ "cognee.modules.retrieval.triplet_retriever.get_vector_engine",
267
+ return_value=mock_vector_engine,
268
+ ),
269
+ patch(
270
+ "cognee.modules.retrieval.triplet_retriever.generate_completion",
271
+ return_value="Generated answer",
272
+ ),
273
+ patch("cognee.modules.retrieval.triplet_retriever.CacheConfig") as mock_cache_config,
274
+ patch("cognee.modules.retrieval.triplet_retriever.session_user") as mock_session_user,
275
+ ):
276
+ mock_config = MagicMock()
277
+ mock_config.caching = True
278
+ mock_cache_config.return_value = mock_config
279
+ mock_session_user.get.return_value = None # No user
280
+
281
+ completion = await retriever.get_completion("test query")
282
+
283
+ assert isinstance(completion, list)
284
+ assert len(completion) == 1
285
+
286
+
287
+ @pytest.mark.asyncio
288
+ async def test_get_completion_with_response_model(mock_vector_engine):
289
+ """Test get_completion with custom response model."""
290
+ from pydantic import BaseModel
291
+
292
+ class TestModel(BaseModel):
293
+ answer: str
294
+
295
+ mock_result = MagicMock()
296
+ mock_result.payload = {"text": "Test triplet"}
297
+ mock_vector_engine.has_collection.return_value = True
298
+ mock_vector_engine.search.return_value = [mock_result]
299
+
300
+ retriever = TripletRetriever()
301
+
302
+ with (
303
+ patch(
304
+ "cognee.modules.retrieval.triplet_retriever.get_vector_engine",
305
+ return_value=mock_vector_engine,
306
+ ),
307
+ patch(
308
+ "cognee.modules.retrieval.triplet_retriever.generate_completion",
309
+ return_value=TestModel(answer="Test answer"),
310
+ ),
311
+ patch("cognee.modules.retrieval.triplet_retriever.CacheConfig") as mock_cache_config,
312
+ ):
313
+ mock_config = MagicMock()
314
+ mock_config.caching = False
315
+ mock_cache_config.return_value = mock_config
316
+
317
+ completion = await retriever.get_completion("test query", response_model=TestModel)
318
+
319
+ assert isinstance(completion, list)
320
+ assert len(completion) == 1
321
+ assert isinstance(completion[0], TestModel)
322
+
323
+
324
+ @pytest.mark.asyncio
325
+ async def test_init_none_top_k():
326
+ """Test TripletRetriever initialization with None top_k."""
327
+ retriever = TripletRetriever(top_k=None)
328
+
329
+ assert retriever.top_k == 5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognee
3
- Version: 0.5.1
3
+ Version: 0.5.1.dev0
4
4
  Summary: Cognee - is a library for enriching LLM context with a semantic layer for better understanding and reasoning.
5
5
  Project-URL: Homepage, https://www.cognee.ai
6
6
  Project-URL: Repository, https://github.com/topoteretes/cognee
@@ -14,7 +14,7 @@ cognee/api/client.py,sha256=fL5L7Uh3zXgpSWf_OIhxmdO5nuA-C6EHGYQ1aL2GqdM,10125
14
14
  cognee/api/health.py,sha256=GxfAzwn-Daqh9Lw8CC3DZPRnc97glrMNwvi3MOxJRe0,11917
15
15
  cognee/api/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  cognee/api/v1/add/__init__.py,sha256=JOyEOWtj-L8D_QtNDNCQMdf-Y8TXby4Plvco-5esbmo,21
17
- cognee/api/v1/add/add.py,sha256=FlmoeWHWw8Pn0BLVzy-phI4uU8tAIDFs-UQAviJlBXQ,9068
17
+ cognee/api/v1/add/add.py,sha256=ruPN3bYA78p1taBoMCRV1ShqJKgsFhdepA9wEqvStbg,9148
18
18
  cognee/api/v1/add/routers/__init__.py,sha256=4c7wJoaUCQ7nqV_-BGYigevAL2mYORo6LFLciKtmVlU,43
19
19
  cognee/api/v1/add/routers/get_add_router.py,sha256=LxmExDwk928ZaUtld4DHjsXJsb-2cZHU4m5iSSqY04o,3849
20
20
  cognee/api/v1/cloud/routers/__init__.py,sha256=eoFJLGLK0XbJdZbuX2M08OpThMxZIrmf3hT99YLBbPM,49
@@ -28,7 +28,7 @@ cognee/api/v1/config/config.py,sha256=ckyX0euGNYNXK0tFq5b_OouE6x4VDKFG3uXgMDNUbf
28
28
  cognee/api/v1/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  cognee/api/v1/datasets/datasets.py,sha256=VBNc_7d7nV6UAp8XL1R3eM9pFmJsh30Ut3hqOwSvRYc,1660
30
30
  cognee/api/v1/datasets/routers/__init__.py,sha256=F-hptvX-CC9cUHoKJVIFSI5hZ_wPjaN-rpvdA4rXWTk,53
31
- cognee/api/v1/datasets/routers/get_datasets_router.py,sha256=hKy0lVqAERDTN_JLG3lEEr8OqXE2W1C0lQPsxG5itvw,17184
31
+ cognee/api/v1/datasets/routers/get_datasets_router.py,sha256=JKdswrlpzM8-yJ5kf4e95B8vhFzITkXEgOgJA6zD7io,17216
32
32
  cognee/api/v1/delete/__init__.py,sha256=ZtgOK5grmkjGh7I5SlEYUxF7beiGUjEf0ZEYcdzpCJ8,27
33
33
  cognee/api/v1/delete/delete.py,sha256=pzggh8cSQdxNo27VAnhJ4gnM8uU4Q-USCUfcjzO-wzE,9948
34
34
  cognee/api/v1/delete/routers/__init__.py,sha256=5UDk3LT37tyW9EnwYMzCIT2AW9zzHMvfLiDiVCrnKFk,49
@@ -37,7 +37,7 @@ cognee/api/v1/exceptions/__init__.py,sha256=DHX5lYPEz3wNiZXhLSZqRSO2z1bX-EFQobmJ
37
37
  cognee/api/v1/exceptions/exceptions.py,sha256=tR4HyexthHLNfAWxaELallTezFl-26bkEytvrDFsanY,1677
38
38
  cognee/api/v1/memify/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  cognee/api/v1/memify/routers/__init__.py,sha256=Uv25PVGhfjnNi1NYWOmOLIlzaeTlyMYF9m7BEfdu45Q,49
40
- cognee/api/v1/memify/routers/get_memify_router.py,sha256=mW6NuAFRlkQH_4wjHkAbhLBiC_u9xgov1au8JEEW6SA,4682
40
+ cognee/api/v1/memify/routers/get_memify_router.py,sha256=mSKuFNzXscdo2cMqdKP0gYo3R94uDpO6K3pqidIb7RE,4743
41
41
  cognee/api/v1/notebooks/routers/__init__.py,sha256=TvQz6caluaMoXNvjbE1p_C8savypgs8rAyP5lQ8jlpc,55
42
42
  cognee/api/v1/notebooks/routers/get_notebooks_router.py,sha256=m8OH3Kw1UHF8aTP4yNuSpv7gNThE4HxmLIrUnvECYGA,3484
43
43
  cognee/api/v1/ontologies/__init__.py,sha256=_rdcnqOI6sWUw1R37Rw1TrtT7br-yM6W_15B52WQsHs,155
@@ -56,7 +56,7 @@ cognee/api/v1/responses/routers/__init__.py,sha256=X2qishwGRVFXawnvkZ5bv420PuPRL
56
56
  cognee/api/v1/responses/routers/default_tools.py,sha256=1SM-hnmJWAjjtEVdgTDRpocPrj0LjOUW-Y9TPQMcu2o,2968
57
57
  cognee/api/v1/responses/routers/get_responses_router.py,sha256=ggbLhY9IXaInCgIs5TUuOCkFW64xmTKZQsc2ENq2Ocs,5979
58
58
  cognee/api/v1/search/__init__.py,sha256=Sqw60DcOj4Bnvt-EWFknT31sPcvROIRKCWLr5pbkFr4,39
59
- cognee/api/v1/search/search.py,sha256=qLxCgisrkdHvI5jXD9HkZgdgpz4sNUPo0-QC8k3WuNo,9411
59
+ cognee/api/v1/search/search.py,sha256=_wEkTJw4iBShDC7rAxpPZpnFrr4-CgX_m6cmff2LX3I,9248
60
60
  cognee/api/v1/search/routers/__init__.py,sha256=6RebeLX_2NTRxIMPH_mGuLztPxnGnMJK1y_O93CtRm8,49
61
61
  cognee/api/v1/search/routers/get_search_router.py,sha256=vMAgHG26AcNBkiK-aKIQgADSX4shLfu68tgWbblv3Go,6354
62
62
  cognee/api/v1/settings/routers/__init__.py,sha256=wj_UYAXNMPCkn6Mo1YB01dCBiV9DQwTIf6OWjnGRpf8,53
@@ -192,14 +192,14 @@ cognee/infrastructure/databases/hybrid/neptune_analytics/NeptuneAnalyticsAdapter
192
192
  cognee/infrastructure/databases/hybrid/neptune_analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
193
  cognee/infrastructure/databases/relational/ModelBase.py,sha256=-zau90uq4nDbM5GBdlxnU0oOko1NtYpcZdp_2DfEweQ,362
194
194
  cognee/infrastructure/databases/relational/__init__.py,sha256=dkP-wkByc3BpClP1RWRmkxtayOorMrMzRw-pJtDHPkE,400
195
- cognee/infrastructure/databases/relational/config.py,sha256=92bm-fVh6ZJ2JQkqotLtzjtQITg4QpRjUb4VyCx832E,4709
195
+ cognee/infrastructure/databases/relational/config.py,sha256=bjV6iSMvQ2QqhdMGnLbfKUaS7xQu66lbeR0_2h_7wkc,5387
196
196
  cognee/infrastructure/databases/relational/create_db_and_tables.py,sha256=sldlFgE4uFdVBdXGqls6YAYX0QGExO2FHalfH58xiRE,353
197
- cognee/infrastructure/databases/relational/create_relational_engine.py,sha256=tmYXVTZLtp3Q2U4b0pirLWjQdPte-WxE2xF0y6LBZgM,1896
197
+ cognee/infrastructure/databases/relational/create_relational_engine.py,sha256=1er0Ba5Lay-I2eqqBsOHp15zkoUv34eeMyR8nP-B8JY,2290
198
198
  cognee/infrastructure/databases/relational/get_async_session.py,sha256=qfiXSsTAATJHmn3c0KLPwjuIO5WgrIcgPCf7NVVLW80,471
199
199
  cognee/infrastructure/databases/relational/get_migration_relational_engine.py,sha256=5RtH281iIQo3vqgwmKT0nuiJp9jNd7vw6xRUjc5xIDM,1070
200
200
  cognee/infrastructure/databases/relational/get_relational_engine.py,sha256=De51ieg9eFhRLX08k9oNc-oszvt_9J5DHebqI1qI8_U,741
201
201
  cognee/infrastructure/databases/relational/with_async_session.py,sha256=UgQeJOvgeM6yhyNDwWdGULtTjZosTnjDlr267Losnfs,803
202
- cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py,sha256=FHUO8ZHmY_dgRPDYUKxnHlgvU-zVylf0Nva0OFe7GGw,27547
202
+ cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py,sha256=l2529lliEI4SsCxds1s_6i23hmChwyNWHcp-du-Z0Y8,28575
203
203
  cognee/infrastructure/databases/relational/sqlalchemy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
204
  cognee/infrastructure/databases/utils/__init__.py,sha256=A10sOR4DE6qX8mkTpqsL6SSPYdl7MrWBOVB_1bhjWoI,338
205
205
  cognee/infrastructure/databases/utils/get_graph_dataset_database_handler.py,sha256=Yf5ay7txaxNhSJMljSfhiU1cs1brNIElhM5El3DT__8,438
@@ -208,7 +208,7 @@ cognee/infrastructure/databases/utils/get_vector_dataset_database_handler.py,sha
208
208
  cognee/infrastructure/databases/utils/resolve_dataset_database_connection_info.py,sha256=B1VjLOEeZpXAjYGbDA3FPUm04IBUIdYgcJVL3hHmObg,1280
209
209
  cognee/infrastructure/databases/vector/__init__.py,sha256=7MdGJ3Mxdh2RyDq39rcjD99liIa-yGXxDUzq--1qQZs,291
210
210
  cognee/infrastructure/databases/vector/config.py,sha256=7aRfiY-W12PHmzBCbVqXsn-2AsTszpCJeaXRcWHlX50,3204
211
- cognee/infrastructure/databases/vector/create_vector_engine.py,sha256=6l1lrLPidYsy9K3g26cpRmSOnFsMY0xLnOn82aepIko,5178
211
+ cognee/infrastructure/databases/vector/create_vector_engine.py,sha256=Gwkogf-tPUH8iu0a5A3-c3hNCt36Jy-8UAVmma9TFGw,5306
212
212
  cognee/infrastructure/databases/vector/get_vector_engine.py,sha256=y4TMWJ6B6DxwKF9PMfjB6WqujPnVhf0oR2j35Q-KhvA,272
213
213
  cognee/infrastructure/databases/vector/supported_databases.py,sha256=0UIYcQ15p7-rq5y_2A-E9ydcXyP6frdg8T5e5ECDDMI,25
214
214
  cognee/infrastructure/databases/vector/use_vector_adapter.py,sha256=ab2x6-sxVDu_tf4zWChN_ngqv8LaLYk2VCtBjZEyjaM,174
@@ -265,7 +265,7 @@ cognee/infrastructure/files/utils/get_file_metadata.py,sha256=3U0usuzEuGbVY0PBqQ
265
265
  cognee/infrastructure/files/utils/guess_file_type.py,sha256=aw7G8PtTRaQAIN2z8JZhQKdr0sp3ckgTOGQpe5zvA-0,2017
266
266
  cognee/infrastructure/files/utils/is_text_content.py,sha256=iNZWCECNLMjlQfOQAujVQis7prA1cqsscRRSQsxccZo,1316
267
267
  cognee/infrastructure/files/utils/open_data_file.py,sha256=3TPsTUDCH6SOuvbwNembE-YRiFDhb9yCqOC537b6iGY,2155
268
- cognee/infrastructure/llm/LLMGateway.py,sha256=Tj5gVk38e7CGWI_cq4GrqpzfIEcCWfHjslbitGcVLs4,2547
268
+ cognee/infrastructure/llm/LLMGateway.py,sha256=4tAezrQPVv0DhKdOx_25MXLvYKL7KEVu1UrrHehnL_k,2050
269
269
  cognee/infrastructure/llm/__init__.py,sha256=-nEQSe4WmjCfj-M63QGg7DRpaHA4GjcIH5Ox1zgeZLE,356
270
270
  cognee/infrastructure/llm/config.py,sha256=28hDcIzGALj26mXYhAK04RVw2NjhtA7-1gPm_jyrENc,9628
271
271
  cognee/infrastructure/llm/exceptions.py,sha256=1EDvHVC6Gw3oAKZp9yfeW8HUvV8Rt0JlJxRr2af6LE8,976
@@ -349,23 +349,24 @@ cognee/infrastructure/llm/structured_output_framework/baml/baml_src/extraction/a
349
349
  cognee/infrastructure/llm/structured_output_framework/baml/baml_src/extraction/create_dynamic_baml_type.py,sha256=GwlDOiOeXKlStNlkb5XdLN2k05hxuABsLBA8dl11nVA,5125
350
350
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
351
351
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/get_llm_client.py,sha256=4RXshmPuMpZmY7CzJIuIGLz6EKBhFp9GhwToyV2ysg4,6842
353
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/llm_interface.py,sha256=caxTVopfZrQzZp7rWzxaF3QnusW8AzTZJAfHA37gJ1U,1307
352
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/get_llm_client.py,sha256=S9gP-s1as0x4QtreIPR3-_quWQ43VGGyDsEVw2fDdpY,6769
353
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/llm_interface.py,sha256=cOLv5pb99JogfwGGUgwwCu6ElccLgfc1YQOwXvWIYf8,1208
354
354
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/rate_limiter.py,sha256=ie_zMYnUzMcW4okP4P41mEC31EML2ztdU7bEQQdg99U,16763
355
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/types.py,sha256=Xa69Pej4LVkKaF0hkyy6e-RVI5qsi1kQXnrHUXoNIIw,213
355
356
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
356
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/anthropic/adapter.py,sha256=ZRPA8JVUkKyh7BWc7195rarlssEVgg__hwLo7xBfsFU,2835
357
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/anthropic/adapter.py,sha256=Yib2D6X7zZeJdMw4_MX7yQWnVirdlV2upN91ptpPeMg,3027
357
358
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/bedrock/__init__.py,sha256=6NM_htnCNlLteBBjY5-N7czUfRk2a7gEx7B_Q-1uns8,101
358
359
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/bedrock/adapter.py,sha256=SfTCaw1q1ikgvllBQoUiasRkB53sbJb5w9hmfQuXprQ,5544
359
360
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/gemini/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
360
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/gemini/adapter.py,sha256=bvbhgEVuB_xyqq69GF0rU07tCK6YagjahZsXROQOKzM,6396
361
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/gemini/adapter.py,sha256=pE_NoPDlyEhlBU5xlqvCZvp9AFNFoa53TAaTkR6E7zw,6845
361
362
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/generic_llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/generic_llm_api/adapter.py,sha256=FuKnkp42EcimHSj47YyqTqxaE72ZxEZP7Yi1z3LsAqo,6351
363
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/generic_llm_api/adapter.py,sha256=uspVYYcCEnDAdo8Drk16ANXpi05-e0IszA7T5lU-3ao,11314
363
364
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/mistral/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
364
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/mistral/adapter.py,sha256=SuxoQSZ0N2ydnC9DL8fclNFQDAISFMQYyRYpkp4ZUhg,4152
365
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/mistral/adapter.py,sha256=f_D3wdSXLXzzRuw4z_1XvY-GNKqnl4vNr6JQa6jGHwA,6103
365
366
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/ollama/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/ollama/adapter.py,sha256=ZB9PTk1QHoRhIqsPaqRAlINeF3IWEAtDqxn6lXvKzeY,6775
367
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/ollama/adapter.py,sha256=8h1Zlj7-fQkcxIas53SRcJOsgTs32hWp60oYnffQGvg,6774
367
368
  cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
368
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/openai/adapter.py,sha256=0nEbI-1h2itbrj2UOYh8SgiiMNTQx317EEakWVg0p1s,11736
369
+ cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/openai/adapter.py,sha256=zK-ZcV_MpncrzwJZmnyIMqmHLMEQbhQRugJbZXIh11Y,8409
369
370
  cognee/infrastructure/llm/tokenizer/__init__.py,sha256=PfvDIZITALjM6CXtUEQ3NyZYxt0QYgHjqXDQYoRKB7o,212
370
371
  cognee/infrastructure/llm/tokenizer/tokenizer_interface.py,sha256=CdpGUFWJwEnj0A2HrD2i3hfFze-hLixUHf-g7p57HWU,1359
371
372
  cognee/infrastructure/llm/tokenizer/Gemini/__init__.py,sha256=x2WAZ-pdVL1UtdpgEQtz8TOjGTXA4OatzSfY7lF0oEo,37
@@ -441,7 +442,7 @@ cognee/modules/data/methods/get_unique_data_id.py,sha256=gtjciyGxUXIsbXIzCjb3Zxv
441
442
  cognee/modules/data/methods/get_unique_dataset_id.py,sha256=4zBHteVKBRAXH5xWUECHf5NCqzGTQr-YuG9AlDwb_Ic,2862
442
443
  cognee/modules/data/methods/has_dataset_data.py,sha256=iDX-Ui24lPBQM8BYSyPuGnE3YKtFmEG9K_fxyzt-3HU,620
443
444
  cognee/modules/data/methods/load_or_create_datasets.py,sha256=XjnchkOepLrDB0JnsRERtfzTPj5usBt4qKQvZ5f9Fyw,1364
444
- cognee/modules/data/models/Data.py,sha256=slPbS7QqQcP9-fu-5OysB74u-b6ccCM71MsJLY7Xbug,2240
445
+ cognee/modules/data/models/Data.py,sha256=i60x5USQNHY6Y6IPaoC2IPXEpa8KK27KfZZavgZ5lmM,2314
445
446
  cognee/modules/data/models/Dataset.py,sha256=O_A3An2vsFw-c4ZEu5V_LCLcdCZfgDCT72TnulpMS9w,1403
446
447
  cognee/modules/data/models/DatasetData.py,sha256=wIUqZGXLznRUObz6nl3wuW_OD2hiyBZX2H93lhaD4eI,498
447
448
  cognee/modules/data/models/GraphMetrics.py,sha256=_GCQBYfHbPmfH154AKJPJNQUSG0SOwI_Db-SPfqjIus,1123
@@ -605,7 +606,7 @@ cognee/modules/retrieval/register_retriever.py,sha256=0lKsALT0X1Yt1VxKDvnwtH9Cxr
605
606
  cognee/modules/retrieval/registered_community_retrievers.py,sha256=P1GzMD5eQW3WlBUv9VxIjLW8R6mjHa1eN4ceaFf2m3k,37
606
607
  cognee/modules/retrieval/summaries_retriever.py,sha256=_ZYrzIil9aKSGEn8Ayda-U3_d769GOllBkDbARL3kK8,3584
607
608
  cognee/modules/retrieval/temporal_retriever.py,sha256=3rHsWDrK4p0AMUg0e8JDk3WBnsm-Bxvd-oXxMPpCChk,8353
608
- cognee/modules/retrieval/triplet_retriever.py,sha256=MJk6vZ2TqFQ5JVyvepvlL4o_1p6VUncKOyNDqMGCL-A,6559
609
+ cognee/modules/retrieval/triplet_retriever.py,sha256=2Zdja2FMr6z86vfglrdN2PWKhVgHyKGDvD5vjouVy-c,6559
609
610
  cognee/modules/retrieval/user_qa_feedback.py,sha256=xSR5p1t0lRkAJH8fqtyU8zx1NT4-QTJyJuAzpJsRfRY,3406
610
611
  cognee/modules/retrieval/context_providers/DummyContextProvider.py,sha256=9GsvINc7ekRyRWO5IefFGyytRYqsSlhpwAOw6Q691cA,419
611
612
  cognee/modules/retrieval/context_providers/SummarizedTripletSearchContextProvider.py,sha256=ypO6yWLxvmRsj_5dyYdvXTbztJmB_ioLrgyG6bF5WGA,894
@@ -616,7 +617,7 @@ cognee/modules/retrieval/entity_extractors/__init__.py,sha256=47DEQpj8HBSa-_TImW
616
617
  cognee/modules/retrieval/exceptions/__init__.py,sha256=9yC54Z5HmoDnti9_yFLXK9_l3aHAlCTDfPGMMTN7WfM,187
617
618
  cognee/modules/retrieval/exceptions/exceptions.py,sha256=T5cMVXoW_JhtUeIJap3veN7l2thgb0W5MN90bunzl24,1390
618
619
  cognee/modules/retrieval/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
619
- cognee/modules/retrieval/utils/brute_force_triplet_search.py,sha256=6EZir8AzeQjnr4N4pL3e_1tqWvWnkH1EyexmdGc2fUI,8166
620
+ cognee/modules/retrieval/utils/brute_force_triplet_search.py,sha256=aGUAfO-qlrExS6m7VKM4QtorasSImnexQ0iqzIr5Vm4,7478
620
621
  cognee/modules/retrieval/utils/completion.py,sha256=leIYGCh5000KAPuntOw_mmrqe3P3EytkUr066pWckEQ,1570
621
622
  cognee/modules/retrieval/utils/description_to_codepart_search.py,sha256=0FzGRz_RdhbbX9ERAdzuKtCGhkMHYlBNMKzyxZglM24,6339
622
623
  cognee/modules/retrieval/utils/extract_uuid_from_node.py,sha256=m_o2faQP4C91jzdjOS9FD8DlZqbv0gtmyaP-lQN-oEU,517
@@ -630,7 +631,7 @@ cognee/modules/search/exceptions/exceptions.py,sha256=Zc5Y0M-r-UnSSlpKzHKBplfjZ-
630
631
  cognee/modules/search/methods/__init__.py,sha256=jGfRvNwM5yIzj025gaVhcx7nCupRSXbUUnFjYVjL_Js,27
631
632
  cognee/modules/search/methods/get_search_type_tools.py,sha256=1XL-dxinGDVB7aiVwi5573qJAOux7LLj-ISQ8Xi3Sko,9213
632
633
  cognee/modules/search/methods/no_access_control_search.py,sha256=9npzFlFk5XteUoTgMbSyPtCqMl0Ve5JJEtt1kx_TDWE,2267
633
- cognee/modules/search/methods/search.py,sha256=8df0H3zQCeIeFWQ10N0JzB5Ts6t3V95ySx8UX-SqvfY,16632
634
+ cognee/modules/search/methods/search.py,sha256=ncqkDWZG9Q5jPsZextqMzg3Ikh-jhVe-xPPYYeRrLPM,16280
634
635
  cognee/modules/search/models/Query.py,sha256=9WcF5Z1oCFtA4O-7An37eNAPX3iyygO4B5NSwhx7iIg,558
635
636
  cognee/modules/search/models/Result.py,sha256=U7QtoNzAtZnUDwGWhjVfcalHQd4daKtYYvJz2BeWQ4w,564
636
637
  cognee/modules/search/operations/__init__.py,sha256=AwJl6v9BTpocoefEZLk-flo1EtydYb46NSUoNFHkhX0,156
@@ -781,12 +782,13 @@ cognee/tasks/graph/cascade_extract/utils/extract_nodes.py,sha256=JZxYu_duUaKOU0f
781
782
  cognee/tasks/graph/exceptions/__init__.py,sha256=9Qsr4LQ38vFf6VX9ACHDwBwotFpHJIcyVI6fURZN8Zo,271
782
783
  cognee/tasks/graph/exceptions/exceptions.py,sha256=gzEnP2M3o_z0VEVntZAv5ej81qz1lJYoghHmvOjmO6I,1319
783
784
  cognee/tasks/ingestion/__init__.py,sha256=TqqVr_LsoBRWn-F8mnWTd-3eQS4QUWj4nGbL8bXKjo0,234
785
+ cognee/tasks/ingestion/data_item.py,sha256=xJpyGw12QPvU94LNLtGtVXu6et3j2X0wgenDjx0Fzsw,142
784
786
  cognee/tasks/ingestion/data_item_to_text_file.py,sha256=Vet0jD8Q7XdcEVgXYh9iMOXL8sX59RpJ-zchipDc5qQ,3168
785
787
  cognee/tasks/ingestion/get_dlt_destination.py,sha256=vzky_-TFlnaREbdbndAkXwwlb-0gRq8vDaQ2OOyOSQ4,2075
786
- cognee/tasks/ingestion/ingest_data.py,sha256=_szIgsJIy9C9_TH9qq7YTXHcOu28AFljJPJp4b-UD1E,8584
788
+ cognee/tasks/ingestion/ingest_data.py,sha256=LOG_ov0jQKmJX3Tc5JPmiPzfegYzNOtBaTN5SLiv_Lg,8997
787
789
  cognee/tasks/ingestion/migrate_relational_database.py,sha256=P2-4OJ7WqU46VRC5Tr_YiGulgCG6GZm35Sz1TaWjOw8,13689
788
790
  cognee/tasks/ingestion/resolve_data_directories.py,sha256=s648osIggl0qU_aWTfSjYHIe-jS4Nt7bf5HqK-ylKpM,3323
789
- cognee/tasks/ingestion/save_data_item_to_storage.py,sha256=rcCCUKtuYNkuqH9H8PR7JhRtuLzCHsWjUZJsH9kjJB4,3967
791
+ cognee/tasks/ingestion/save_data_item_to_storage.py,sha256=1iJVFk7497Of0Pt2DNG_9RmkUSoHIc6tvjv8CXiFNoQ,4183
790
792
  cognee/tasks/ingestion/transform_data.py,sha256=cbI1FX86-Ft3pGRRHedjarXst9TR7O9ce39bYRhbf2Y,1506
791
793
  cognee/tasks/ingestion/exceptions/__init__.py,sha256=GhFSvM6ChVsm16b-zaCkbluH9zCX72Wy-QLyMXyEAe4,240
792
794
  cognee/tasks/ingestion/exceptions/exceptions.py,sha256=3wgLiK4G77nMc95-STtqs3LPWcRtzH_bDamikG4uyD0,385
@@ -836,6 +838,7 @@ cognee/tests/test_chromadb.py,sha256=9JCQ8s8qTAe7tbfRVultDlVun5D771jO3iIAJ_-Q5zo
836
838
  cognee/tests/test_cognee_server_start.py,sha256=-YX_XsLm0oTKKL-X2YKfd24o25GEj7H6WA-I4P0MUR4,7658
837
839
  cognee/tests/test_concurrent_subprocess_access.py,sha256=QvQMgKDEDxeMHXksNwblg9zuH_C3GDlAo-e3_OQpTlA,2317
838
840
  cognee/tests/test_conversation_history.py,sha256=Vo-h1c7SFOpBNr8x8C2CaRRiUbTlOtmhGPpzaNyas8M,11191
841
+ cognee/tests/test_custom_data_label.py,sha256=-FXrgBgs1eGUldjs6vceEGQwG56NbSnkkafqCj0Rj5c,2051
839
842
  cognee/tests/test_custom_model.py,sha256=vypoJkF5YACJ6UAzV7lQFRmtRjVYEoPcUS8Rylgc1Wg,3465
840
843
  cognee/tests/test_dataset_database_handler.py,sha256=K33R7vFHfJFieH8HS6dUdMhOeDpAc0EEJxDMM4FjShw,4883
841
844
  cognee/tests/test_dataset_delete.py,sha256=pjAZygvHRfiDzVSz5jeNIWNYTF90qCZfxn5407UiwUU,2770
@@ -865,7 +868,7 @@ cognee/tests/test_remote_kuzu.py,sha256=65OFQnwPzMox_HuoSpQqRE-nG2HMyZupRScHSNNv
865
868
  cognee/tests/test_remote_kuzu_stress.py,sha256=5vgnu4Uz_NoKKqFZJeVceHwb2zNhvdTVBgpN3NjhfAE,5304
866
869
  cognee/tests/test_s3.py,sha256=rY2UDK15cdyywlyVrR8N2DRtVXWYIW5REaaz99gaQeE,2694
867
870
  cognee/tests/test_s3_file_storage.py,sha256=sNLO7g6sb-F_O6Ivx8TjSKieiap7yUkxFG7RcdDFuCg,5662
868
- cognee/tests/test_search_db.py,sha256=KqKCKrr44GIb-O6GNmSlbtHQNzxFtTlKMjnIDxUNP3w,12282
871
+ cognee/tests/test_search_db.py,sha256=vOeXcsoiDC9HuiNV9nW4D4zWSF4H__3cW8-LEmHBIbc,18394
869
872
  cognee/tests/test_starter_pipelines.py,sha256=X1J8RDD0bFMKnRETyi5nyaF4TYdmUIu0EuD3WQwShNs,2475
870
873
  cognee/tests/test_telemetry.py,sha256=FIneuVofSKWFYqxNC88sT_P5GPzgfjVyqDCf2TYBE2E,4130
871
874
  cognee/tests/test_temporal_graph.py,sha256=GRYS2FsFybYOuoQvmG711UTVAHgvGvapgMEzW4sclZg,11551
@@ -884,7 +887,15 @@ cognee/tests/integration/documents/PdfDocument_test.py,sha256=IY0Cck8J2gEyuJHPK0
884
887
  cognee/tests/integration/documents/TextDocument_test.py,sha256=aSYfyvSQLceZ1c5NqV5Jf5eGA3BL_adP6iwWnT9eMCg,2159
885
888
  cognee/tests/integration/documents/UnstructuredDocument_test.py,sha256=nZktosptjw85V1_2iAwlOaYghA4cmqEX62RvQSgU_NY,4006
886
889
  cognee/tests/integration/documents/async_gen_zip.py,sha256=h98Q6cxhwb49iaYm4NZ-GmbNDAux-BKplofNgf4aIpc,317
887
- cognee/tests/integration/retrieval/test_triplet_retriever.py,sha256=k9sfOu0J2aqPnAjh8h58JQfjLrFtSrlTajb5dpQ85xw,2604
890
+ cognee/tests/integration/retrieval/test_chunks_retriever.py,sha256=zIuqC7OUDuGM95Ql6rqZV1dpc1LahzS1RcrZQf8ObCU,7579
891
+ cognee/tests/integration/retrieval/test_graph_completion_retriever.py,sha256=7cNYgwLSnQKzGxE1WARzyiEpZKElHs_mEvGbsCWVY2o,9666
892
+ cognee/tests/integration/retrieval/test_graph_completion_retriever_context_extension.py,sha256=r1mzVTy_vKlFrNKRyZvRouGtoOs9gYNbovzIQQPajtw,7880
893
+ cognee/tests/integration/retrieval/test_graph_completion_retriever_cot.py,sha256=xVqPAP3j9d5EvoyKaSM8TRa1mKeZaIb-QG0LJA6VWwc,7621
894
+ cognee/tests/integration/retrieval/test_rag_completion_retriever.py,sha256=0r2ojiLIjombHOkt61WmhVLo8nipTmBcKdBeRPbHuoA,7626
895
+ cognee/tests/integration/retrieval/test_structured_output.py,sha256=BqrKdTUGtXjRk1BPsYb9gv9f_vfPXgQBxRQ_fUHpack,7578
896
+ cognee/tests/integration/retrieval/test_summaries_retriever.py,sha256=gBKM7XrN5lk5YQ6wF2-3a0QC27zLrQ9lByZDpXVFewI,5373
897
+ cognee/tests/integration/retrieval/test_temporal_retriever.py,sha256=ax9rc1ANR41fOv6PqCeBaHpBNR1dsyXTuzSy0zxaE1w,9931
898
+ cognee/tests/integration/retrieval/test_triplet_retriever.py,sha256=TxBAeG9e0DVsiLE1Jb3w94vlvQCjDHxB7403re1mZ2I,3827
888
899
  cognee/tests/integration/tasks/test_add_data_points.py,sha256=N4jXU1rSMHLdGjYJnLLESxrgJFNU4XQJlCC-n28mb1c,4644
889
900
  cognee/tests/integration/tasks/test_get_triplet_datapoints.py,sha256=Zerj1yrKGo_nbpIPS0ZPAFrEwP3hyBSi4aPtr433b28,2663
890
901
  cognee/tests/integration/web_url_crawler/test_default_url_crawler.py,sha256=Qk__D7-SwpE5YfCiXoIDF3LgablRMhtoSSGfCVYY-PM,349
@@ -922,8 +933,8 @@ cognee/tests/unit/api/test_conditional_authentication_endpoints.py,sha256=PYT1Mh
922
933
  cognee/tests/unit/api/test_ontology_endpoint.py,sha256=U24N97rEZ0OaIIYxBdasJ66Eth_LCwFv09dexZ71v4U,8873
923
934
  cognee/tests/unit/entity_extraction/regex_entity_extraction_test.py,sha256=3zNvSI56FBltg_lda06n93l2vl702i5O1ewoQXoo50E,10234
924
935
  cognee/tests/unit/eval_framework/answer_generation_test.py,sha256=TVrAJneOiTSztq7J6poo4GGPsow3MWnBtpBwPkDHq08,1309
925
- cognee/tests/unit/eval_framework/benchmark_adapters_test.py,sha256=yXmr5089j1KB5lrLs4v17JXPuUk2iwXJRJGOb_wdnqk,3382
926
- cognee/tests/unit/eval_framework/corpus_builder_test.py,sha256=bf5ROCD8WC2w33kAiI5ne2nwPMtHyqTUdFlSVskpRZA,1243
936
+ cognee/tests/unit/eval_framework/benchmark_adapters_test.py,sha256=vf4yO-oZuKHlDMaTX14IwZDDVzhaMUbLbBLMp4xF-0A,4365
937
+ cognee/tests/unit/eval_framework/corpus_builder_test.py,sha256=tHPppreETsvmbu-vvaxUzT1iOgrbMdXDqgscFN8YRu4,2433
927
938
  cognee/tests/unit/eval_framework/dashboard_test.py,sha256=79rHZcNmcemVGs_0s3ElhSrrHBjJ-54WD3AL8m3_lFc,2994
928
939
  cognee/tests/unit/eval_framework/deepeval_adapter_test.py,sha256=Lxn3sqrfv9ilZnN6IlqEyxyCAayTYJ2oSnwNtuH5ECY,2453
929
940
  cognee/tests/unit/eval_framework/metrics_test.py,sha256=uQDtI_LLMKSZX8sYH0GtCk4PXYibn6zvfBHQZcQ9pJU,2962
@@ -936,6 +947,7 @@ cognee/tests/unit/infrastructure/databases/test_index_graph_edges.py,sha256=GrXC
936
947
  cognee/tests/unit/infrastructure/databases/test_rate_limiter.py,sha256=ekh-Ige5x_PEdVT30KbYfLgg6l66PbRg-PGspQqqb_A,6098
937
948
  cognee/tests/unit/infrastructure/databases/cache/test_cache_config.py,sha256=A5MaUSRKTcMAzWgYdOUbTiEawjHSOk_exmk4_Msvgic,2887
938
949
  cognee/tests/unit/infrastructure/databases/graph/neo4j_deadlock_test.py,sha256=2V7IGsqbWkhzhd1EhZmZeadtDzjTlH1hsrPjNKaLcOc,1666
950
+ cognee/tests/unit/infrastructure/databases/relational/test_RelationalConfig.py,sha256=0gj6wWVHaYxsNsrmswZogHIq3yLEuuPyfiP7vW1SXws,3236
939
951
  cognee/tests/unit/infrastructure/databases/vector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
940
952
  cognee/tests/unit/infrastructure/llm/test_llm_config.py,sha256=U5Yb6PNqrO0rD_XdhPA1X_3XqmS_8uM3qfHO9WJkXmc,1662
941
953
  cognee/tests/unit/interfaces/graph/get_graph_from_huge_model_test.py,sha256=NYRuzFzxA896sAjmSr2I26LG3rH1w7pcX8844bgm0Ag,3396
@@ -954,19 +966,20 @@ cognee/tests/unit/modules/ontology/test_ontology_adapter.py,sha256=gsc6jzPhZ_Sts
954
966
  cognee/tests/unit/modules/pipelines/run_task_from_queue_test.py,sha256=X2clLQYoPgzmk0QWDmDpJIKShSVh8e8xS76PMP7qeIg,1705
955
967
  cognee/tests/unit/modules/pipelines/run_tasks_test.py,sha256=IJ_2NBOizC-PtW4c1asYZB-SI85dQswB0Lt5e_n-5zI,1399
956
968
  cognee/tests/unit/modules/pipelines/run_tasks_with_context_test.py,sha256=Bi5XgQWfrgCgTtRu1nrUAqraDYHUzILleOka5fpTsKE,1058
957
- cognee/tests/unit/modules/retrieval/chunks_retriever_test.py,sha256=jHsvi1Y-bsOVdFrGIfGaTXV4UvwI4KzQF_hV0i3oy2I,6341
958
- cognee/tests/unit/modules/retrieval/conversation_history_test.py,sha256=Db9OxXPhO0JjPkrJZzio6QQCntXhP5xTi6yS13K0l0I,5970
959
- cognee/tests/unit/modules/retrieval/graph_completion_retriever_context_extension_test.py,sha256=G_TIiDndrCieKwFONv6afQLQUyh7Rx0yQ8ep_zKaAWA,6710
960
- cognee/tests/unit/modules/retrieval/graph_completion_retriever_cot_test.py,sha256=ONZuexj6-5KqQOTd0PJF1pcBUvEu4XH0m83xHIzsrEA,6486
961
- cognee/tests/unit/modules/retrieval/graph_completion_retriever_test.py,sha256=HRT0g0HZAAEAeEFwzQNgJ8TAt9rLUCrojlmw5iGwIRk,8790
962
- cognee/tests/unit/modules/retrieval/rag_completion_retriever_test.py,sha256=94DBGmPUvMhmp1QnR7nrwmNDsUGScVecZTmlvKA_vLY,6552
963
- cognee/tests/unit/modules/retrieval/structured_output_test.py,sha256=F9Xfz_1cwKKLJ2rXt4vvP3nTzlK4QNoB6btUg1Vffq4,7488
964
- cognee/tests/unit/modules/retrieval/summaries_retriever_test.py,sha256=2-lIQcSDuiH67xnJWaP77WCn-aBNgxHUBfdPtBVTLGs,4950
965
- cognee/tests/unit/modules/retrieval/temporal_retriever_test.py,sha256=5AJi0aL-hG6Dx35iT30JFfalHWmpJb4DrgIm124cDlc,7657
966
- cognee/tests/unit/modules/retrieval/test_brute_force_triplet_search.py,sha256=ANo4dDrVM1K3yYvXN-KzdFcr9OeYd1EV9_ltkNUQqHw,23148
967
- cognee/tests/unit/modules/retrieval/triplet_retriever_test.py,sha256=D0wo6boeg3wRFHgPfa0KxtablpL4agT3irLC_R3lHLM,2861
969
+ cognee/tests/unit/modules/retrieval/chunks_retriever_test.py,sha256=8k33hUxqAi7NhlW5y0OBr_w9pynXCaxbHD8mdCkJUzk,5821
970
+ cognee/tests/unit/modules/retrieval/conversation_history_test.py,sha256=5EwIwucLHjihlLOLLUElihQ0N4WS3q8VohkwmqX88_I,18953
971
+ cognee/tests/unit/modules/retrieval/graph_completion_retriever_context_extension_test.py,sha256=XbKJLHT-WXbrb4zaOCnlbPxkIYzL7ChetURJNMjG1Bo,17055
972
+ cognee/tests/unit/modules/retrieval/graph_completion_retriever_cot_test.py,sha256=0srZMlk4btIJJC_fYUUZXrUgYbuc5iLczUR2BTCfNyg,24086
973
+ cognee/tests/unit/modules/retrieval/graph_completion_retriever_test.py,sha256=qqc79-CteLCFu2ZMFnvBMsixqSRf-20NkqEl3vM6-aw,21392
974
+ cognee/tests/unit/modules/retrieval/rag_completion_retriever_test.py,sha256=y-rDwE-yGFmLZ5sI0R8lMsigyApTTHmiIg_hYlyO_SE,11005
975
+ cognee/tests/unit/modules/retrieval/summaries_retriever_test.py,sha256=9Qo8F7cq2yQZR0EbUZ3iO3-vt6KM_F-nLoFBeLlm_9w,6192
976
+ cognee/tests/unit/modules/retrieval/temporal_retriever_test.py,sha256=TPEIbvDemxCu37_6JBPQLb1dKtL5o78D0oPCm_Jbo6k,24229
977
+ cognee/tests/unit/modules/retrieval/test_brute_force_triplet_search.py,sha256=62V8spBuTz5TmvIxJqjkf6-PrPx1RCXgTJQSDleV7jk,31064
978
+ cognee/tests/unit/modules/retrieval/test_completion.py,sha256=dhyOIXDFpQcPmKvbkbqnPB8bulDdWt0w6jLMZ9WPbyw,13518
979
+ cognee/tests/unit/modules/retrieval/test_graph_summary_completion_retriever.py,sha256=2QrK-HlKBlL1qTz9BIJ06BAV_Kjz4Z1G7EFrRqHvGhw,6190
980
+ cognee/tests/unit/modules/retrieval/test_user_qa_feedback.py,sha256=J5JkrHFuYejpUO6XTNHVmTiDp0ySBZcIFtPcKKvH6Ko,12743
981
+ cognee/tests/unit/modules/retrieval/triplet_retriever_test.py,sha256=ofo8A-iY6Oi_PxX6MZaQoT31kMtOUwSTWWJeEoSp-V0,11218
968
982
  cognee/tests/unit/modules/retriever/test_description_to_codepart_search.py,sha256=oayCbXQtvmTnlgOuR67w_r278TGMEv-puaTR_jI6weo,4164
969
- cognee/tests/unit/modules/search/test_search.py,sha256=7KOV3_Qu7H-n4ztH_YvJBEEv-CSYSwptw2cuTIw298c,2930
970
983
  cognee/tests/unit/modules/users/__init__.py,sha256=SkGMpbXemeX0834-eUj14VuNlZgtOGMxk0C-r-jSsnU,37
971
984
  cognee/tests/unit/modules/users/test_conditional_authentication.py,sha256=dqJpllMIznMc8d0-fh1-u1UftWJyyEXxoykbmeZhcHE,8190
972
985
  cognee/tests/unit/modules/users/test_tutorial_notebook_creation.py,sha256=M_NXBSLr-U7MqKtHiERMRzI7pWRm0CywZYzFUwKYV0w,16028
@@ -995,9 +1008,9 @@ distributed/tasks/queued_add_edges.py,sha256=kz1DHE05y-kNHORQJjYWHUi6Q1QWUp_v3Dl
995
1008
  distributed/tasks/queued_add_nodes.py,sha256=aqK4Ij--ADwUWknxYpiwbYrpa6CcvFfqHWbUZW4Kh3A,452
996
1009
  distributed/workers/data_point_saving_worker.py,sha256=kmaQy2A2J7W3k9Gd5lyoiT0XYOaJmEM8MbkKVOFOQVU,4729
997
1010
  distributed/workers/graph_saving_worker.py,sha256=b5OPLLUq0OBALGekdp73JKxU0GrMlVbO4AfIhmACKkQ,4724
998
- cognee-0.5.1.dist-info/METADATA,sha256=CvUNUJM5DCrgbKL51i8LDAxBXMQH19Gt2gatzOeFxPU,15632
999
- cognee-0.5.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1000
- cognee-0.5.1.dist-info/entry_points.txt,sha256=GCCTsNg8gzOJkolq7dR7OK1VlIAO202dGDnMI8nm8oQ,55
1001
- cognee-0.5.1.dist-info/licenses/LICENSE,sha256=pHHjSQj1DD8SDppW88MMs04TPk7eAanL1c5xj8NY7NQ,11344
1002
- cognee-0.5.1.dist-info/licenses/NOTICE.md,sha256=6L3saP3kSpcingOxDh-SGjMS8GY79Rlh2dBNLaO0o5c,339
1003
- cognee-0.5.1.dist-info/RECORD,,
1011
+ cognee-0.5.1.dev0.dist-info/METADATA,sha256=9OvX9JLkJIctNzFlZ3XWpsce8qatGwE9vUTLp1Z4uqk,15637
1012
+ cognee-0.5.1.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1013
+ cognee-0.5.1.dev0.dist-info/entry_points.txt,sha256=GCCTsNg8gzOJkolq7dR7OK1VlIAO202dGDnMI8nm8oQ,55
1014
+ cognee-0.5.1.dev0.dist-info/licenses/LICENSE,sha256=pHHjSQj1DD8SDppW88MMs04TPk7eAanL1c5xj8NY7NQ,11344
1015
+ cognee-0.5.1.dev0.dist-info/licenses/NOTICE.md,sha256=6L3saP3kSpcingOxDh-SGjMS8GY79Rlh2dBNLaO0o5c,339
1016
+ cognee-0.5.1.dev0.dist-info/RECORD,,
@@ -1,100 +0,0 @@
1
- import types
2
- from uuid import uuid4
3
-
4
- import pytest
5
-
6
- from cognee.modules.search.types import SearchType
7
-
8
-
9
- def _make_user(user_id: str = "u1", tenant_id=None):
10
- return types.SimpleNamespace(id=user_id, tenant_id=tenant_id)
11
-
12
-
13
- def _make_dataset(*, name="ds", tenant_id="t1", dataset_id=None, owner_id=None):
14
- return types.SimpleNamespace(
15
- id=dataset_id or uuid4(),
16
- name=name,
17
- tenant_id=tenant_id,
18
- owner_id=owner_id or uuid4(),
19
- )
20
-
21
-
22
- @pytest.fixture
23
- def search_mod():
24
- import importlib
25
-
26
- return importlib.import_module("cognee.modules.search.methods.search")
27
-
28
-
29
- @pytest.fixture(autouse=True)
30
- def _patch_side_effect_boundaries(monkeypatch, search_mod):
31
- """
32
- Keep production logic; patch only unavoidable side-effect boundaries.
33
- """
34
-
35
- async def dummy_log_query(_query_text, _query_type, _user_id):
36
- return types.SimpleNamespace(id="qid-1")
37
-
38
- async def dummy_log_result(*_args, **_kwargs):
39
- return None
40
-
41
- async def dummy_prepare_search_result(search_result):
42
- if isinstance(search_result, tuple) and len(search_result) == 3:
43
- result, context, datasets = search_result
44
- return {"result": result, "context": context, "graphs": {}, "datasets": datasets}
45
- return {"result": None, "context": None, "graphs": {}, "datasets": []}
46
-
47
- monkeypatch.setattr(search_mod, "send_telemetry", lambda *a, **k: None)
48
- monkeypatch.setattr(search_mod, "log_query", dummy_log_query)
49
- monkeypatch.setattr(search_mod, "log_result", dummy_log_result)
50
- monkeypatch.setattr(search_mod, "prepare_search_result", dummy_prepare_search_result)
51
-
52
- yield
53
-
54
-
55
- @pytest.mark.asyncio
56
- async def test_search_access_control_returns_dataset_shaped_dicts(monkeypatch, search_mod):
57
- user = _make_user()
58
- ds = _make_dataset(name="ds1", tenant_id="t1")
59
-
60
- async def dummy_authorized_search(**kwargs):
61
- assert kwargs["dataset_ids"] == [ds.id]
62
- return [("r", ["ctx"], [ds])]
63
-
64
- monkeypatch.setattr(search_mod, "backend_access_control_enabled", lambda: True)
65
- monkeypatch.setattr(search_mod, "authorized_search", dummy_authorized_search)
66
-
67
- out_non_verbose = await search_mod.search(
68
- query_text="q",
69
- query_type=SearchType.CHUNKS,
70
- dataset_ids=[ds.id],
71
- user=user,
72
- verbose=False,
73
- )
74
-
75
- assert out_non_verbose == [
76
- {
77
- "search_result": ["r"],
78
- "dataset_id": ds.id,
79
- "dataset_name": "ds1",
80
- "dataset_tenant_id": "t1",
81
- }
82
- ]
83
-
84
- out_verbose = await search_mod.search(
85
- query_text="q",
86
- query_type=SearchType.CHUNKS,
87
- dataset_ids=[ds.id],
88
- user=user,
89
- verbose=True,
90
- )
91
-
92
- assert out_verbose == [
93
- {
94
- "search_result": ["r"],
95
- "dataset_id": ds.id,
96
- "dataset_name": "ds1",
97
- "dataset_tenant_id": "t1",
98
- "graphs": {},
99
- }
100
- ]