graphiti-core 0.17.9__tar.gz → 0.17.11__tar.gz

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.

Potentially problematic release.


This version of graphiti-core might be problematic. Click here for more details.

Files changed (183) hide show
  1. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/PKG-INFO +1 -1
  2. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/search.py +24 -4
  3. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/search_utils.py +21 -15
  4. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/pyproject.toml +1 -1
  5. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/uv.lock +1 -1
  6. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.env.example +0 -0
  7. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/dependabot.yml +0 -0
  9. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/pull_request_template.md +0 -0
  10. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/secret_scanning.yml +0 -0
  11. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/cla.yml +0 -0
  12. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/claude-code-review.yml +0 -0
  13. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/claude.yml +0 -0
  14. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/codeql.yml +0 -0
  15. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/lint.yml +0 -0
  16. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/mcp-server-docker.yml +0 -0
  17. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/release-graphiti-core.yml +0 -0
  18. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/typecheck.yml +0 -0
  19. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.github/workflows/unit_tests.yml +0 -0
  20. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/.gitignore +0 -0
  21. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/CLAUDE.md +0 -0
  22. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/CODE_OF_CONDUCT.md +0 -0
  23. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/CONTRIBUTING.md +0 -0
  24. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/Dockerfile +0 -0
  25. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/LICENSE +0 -0
  26. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/Makefile +0 -0
  27. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/README.md +0 -0
  28. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/SECURITY.md +0 -0
  29. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/Zep-CLA.md +0 -0
  30. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/conftest.py +0 -0
  31. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/depot.json +0 -0
  32. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/docker-compose.test.yml +0 -0
  33. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/docker-compose.yml +0 -0
  34. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/ellipsis.yaml +0 -0
  35. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/data/manybirds_products.json +0 -0
  36. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/ecommerce/runner.ipynb +0 -0
  37. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/ecommerce/runner.py +0 -0
  38. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/langgraph-agent/agent.ipynb +0 -0
  39. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/langgraph-agent/tinybirds-jess.png +0 -0
  40. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/podcast/podcast_runner.py +0 -0
  41. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/podcast/podcast_transcript.txt +0 -0
  42. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/podcast/transcript_parser.py +0 -0
  43. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/quickstart/README.md +0 -0
  44. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/quickstart/quickstart_falkordb.py +0 -0
  45. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/quickstart/quickstart_neo4j.py +0 -0
  46. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/quickstart/requirements.txt +0 -0
  47. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/wizard_of_oz/parser.py +0 -0
  48. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/wizard_of_oz/runner.py +0 -0
  49. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/examples/wizard_of_oz/woo.txt +0 -0
  50. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/__init__.py +0 -0
  51. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/cross_encoder/__init__.py +0 -0
  52. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  53. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/cross_encoder/client.py +0 -0
  54. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/cross_encoder/gemini_reranker_client.py +0 -0
  55. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
  56. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/driver/__init__.py +0 -0
  57. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/driver/driver.py +0 -0
  58. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/driver/falkordb_driver.py +0 -0
  59. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/driver/neo4j_driver.py +0 -0
  60. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/edges.py +0 -0
  61. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/embedder/__init__.py +0 -0
  62. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/embedder/azure_openai.py +0 -0
  63. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/embedder/client.py +0 -0
  64. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/embedder/gemini.py +0 -0
  65. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/embedder/openai.py +0 -0
  66. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/embedder/voyage.py +0 -0
  67. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/errors.py +0 -0
  68. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/graph_queries.py +0 -0
  69. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/graphiti.py +0 -0
  70. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/graphiti_types.py +0 -0
  71. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/helpers.py +0 -0
  72. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/__init__.py +0 -0
  73. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/anthropic_client.py +0 -0
  74. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/azure_openai_client.py +0 -0
  75. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/client.py +0 -0
  76. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/config.py +0 -0
  77. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/errors.py +0 -0
  78. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/gemini_client.py +0 -0
  79. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/groq_client.py +0 -0
  80. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/openai_base_client.py +0 -0
  81. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/openai_client.py +0 -0
  82. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  83. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/llm_client/utils.py +0 -0
  84. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/models/__init__.py +0 -0
  85. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/models/edges/__init__.py +0 -0
  86. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  87. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/models/nodes/__init__.py +0 -0
  88. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/models/nodes/node_db_queries.py +0 -0
  89. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/nodes.py +0 -0
  90. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/__init__.py +0 -0
  91. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/dedupe_edges.py +0 -0
  92. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/dedupe_nodes.py +0 -0
  93. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/eval.py +0 -0
  94. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  95. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/extract_edges.py +0 -0
  96. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/extract_nodes.py +0 -0
  97. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/invalidate_edges.py +0 -0
  98. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/lib.py +0 -0
  99. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/models.py +0 -0
  100. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/prompt_helpers.py +0 -0
  101. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/prompts/summarize_nodes.py +0 -0
  102. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/py.typed +0 -0
  103. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/__init__.py +0 -0
  104. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/search_config.py +0 -0
  105. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/search_config_recipes.py +0 -0
  106. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/search_filters.py +0 -0
  107. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/search/search_helpers.py +0 -0
  108. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/telemetry/__init__.py +0 -0
  109. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/telemetry/telemetry.py +0 -0
  110. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/__init__.py +0 -0
  111. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/bulk_utils.py +0 -0
  112. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/datetime_utils.py +0 -0
  113. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/__init__.py +0 -0
  114. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/community_operations.py +0 -0
  115. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  116. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
  117. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/node_operations.py +0 -0
  118. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  119. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/maintenance/utils.py +0 -0
  120. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
  121. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/images/arxiv-screenshot.png +0 -0
  122. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/images/graphiti-graph-intro.gif +0 -0
  123. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/images/graphiti-intro-slides-stock-2.gif +0 -0
  124. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/images/simple_graph.svg +0 -0
  125. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/.env.example +0 -0
  126. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/.python-version +0 -0
  127. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/Dockerfile +0 -0
  128. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/README.md +0 -0
  129. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/cursor_rules.md +0 -0
  130. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/docker-compose.yml +0 -0
  131. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/graphiti_mcp_server.py +0 -0
  132. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/mcp_config_sse_example.json +0 -0
  133. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/mcp_config_stdio_example.json +0 -0
  134. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/pyproject.toml +0 -0
  135. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/mcp_server/uv.lock +0 -0
  136. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/poetry.lock +0 -0
  137. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/py.typed +0 -0
  138. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/pytest.ini +0 -0
  139. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/.env.example +0 -0
  140. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/Makefile +0 -0
  141. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/README.md +0 -0
  142. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/__init__.py +0 -0
  143. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/config.py +0 -0
  144. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/dto/__init__.py +0 -0
  145. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/dto/common.py +0 -0
  146. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/dto/ingest.py +0 -0
  147. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/dto/retrieve.py +0 -0
  148. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/main.py +0 -0
  149. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/routers/__init__.py +0 -0
  150. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/routers/ingest.py +0 -0
  151. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/routers/retrieve.py +0 -0
  152. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/graph_service/zep_graphiti.py +0 -0
  153. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/pyproject.toml +0 -0
  154. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/server/uv.lock +0 -0
  155. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/signatures/version1/cla.json +0 -0
  156. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/cross_encoder/test_bge_reranker_client.py +0 -0
  157. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/cross_encoder/test_gemini_reranker_client.py +0 -0
  158. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/driver/__init__.py +0 -0
  159. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/driver/test_falkordb_driver.py +0 -0
  160. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/embedder/embedder_fixtures.py +0 -0
  161. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/embedder/test_gemini.py +0 -0
  162. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/embedder/test_openai.py +0 -0
  163. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/embedder/test_voyage.py +0 -0
  164. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/evals/data/longmemeval_data/README.md +0 -0
  165. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/evals/data/longmemeval_data/longmemeval_oracle.json +0 -0
  166. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/evals/eval_cli.py +0 -0
  167. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/evals/eval_e2e_graph_building.py +0 -0
  168. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/evals/pytest.ini +0 -0
  169. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/evals/utils.py +0 -0
  170. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/helpers_test.py +0 -0
  171. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/llm_client/test_anthropic_client.py +0 -0
  172. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/llm_client/test_anthropic_client_int.py +0 -0
  173. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/llm_client/test_client.py +0 -0
  174. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/llm_client/test_errors.py +0 -0
  175. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/llm_client/test_gemini_client.py +0 -0
  176. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/test_entity_exclusion_int.py +0 -0
  177. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/test_graphiti_falkordb_int.py +0 -0
  178. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/test_graphiti_int.py +0 -0
  179. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/test_node_falkordb_int.py +0 -0
  180. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/test_node_int.py +0 -0
  181. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/utils/maintenance/test_edge_operations.py +0 -0
  182. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/utils/maintenance/test_temporal_operations_int.py +0 -0
  183. {graphiti_core-0.17.9 → graphiti_core-0.17.11}/tests/utils/search/search_utils_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphiti-core
3
- Version: 0.17.9
3
+ Version: 0.17.11
4
4
  Summary: A temporal graph building library
5
5
  Project-URL: Homepage, https://help.getzep.com/graphiti/graphiti/overview
6
6
  Project-URL: Repository, https://github.com/getzep/graphiti
@@ -188,7 +188,12 @@ async def edge_search(
188
188
  config.sim_min_score,
189
189
  ),
190
190
  edge_bfs_search(
191
- driver, bfs_origin_node_uuids, config.bfs_max_depth, search_filter, 2 * limit
191
+ driver,
192
+ bfs_origin_node_uuids,
193
+ config.bfs_max_depth,
194
+ search_filter,
195
+ group_ids,
196
+ 2 * limit,
192
197
  ),
193
198
  ]
194
199
  )
@@ -198,7 +203,12 @@ async def edge_search(
198
203
  source_node_uuids = [edge.source_node_uuid for result in search_results for edge in result]
199
204
  search_results.append(
200
205
  await edge_bfs_search(
201
- driver, source_node_uuids, config.bfs_max_depth, search_filter, 2 * limit
206
+ driver,
207
+ source_node_uuids,
208
+ config.bfs_max_depth,
209
+ search_filter,
210
+ group_ids,
211
+ 2 * limit,
202
212
  )
203
213
  )
204
214
 
@@ -281,7 +291,12 @@ async def node_search(
281
291
  driver, query_vector, search_filter, group_ids, 2 * limit, config.sim_min_score
282
292
  ),
283
293
  node_bfs_search(
284
- driver, bfs_origin_node_uuids, search_filter, config.bfs_max_depth, 2 * limit
294
+ driver,
295
+ bfs_origin_node_uuids,
296
+ search_filter,
297
+ config.bfs_max_depth,
298
+ group_ids,
299
+ 2 * limit,
285
300
  ),
286
301
  ]
287
302
  )
@@ -291,7 +306,12 @@ async def node_search(
291
306
  origin_node_uuids = [node.uuid for result in search_results for node in result]
292
307
  search_results.append(
293
308
  await node_bfs_search(
294
- driver, origin_node_uuids, search_filter, config.bfs_max_depth, 2 * limit
309
+ driver,
310
+ origin_node_uuids,
311
+ search_filter,
312
+ config.bfs_max_depth,
313
+ group_ids,
314
+ 2 * limit,
295
315
  )
296
316
  )
297
317
 
@@ -62,9 +62,7 @@ MAX_QUERY_LENGTH = 128
62
62
 
63
63
  def fulltext_query(query: str, group_ids: list[str] | None = None, fulltext_syntax: str = ''):
64
64
  group_ids_filter_list = (
65
- [fulltext_syntax + f"group_id:'{lucene_sanitize(g)}'" for g in group_ids]
66
- if group_ids is not None
67
- else []
65
+ [fulltext_syntax + f'group_id:"{g}"' for g in group_ids] if group_ids is not None else []
68
66
  )
69
67
  group_ids_filter = ''
70
68
  for f in group_ids_filter_list:
@@ -285,7 +283,8 @@ async def edge_bfs_search(
285
283
  bfs_origin_node_uuids: list[str] | None,
286
284
  bfs_max_depth: int,
287
285
  search_filter: SearchFilters,
288
- limit: int,
286
+ group_ids: list[str] | None = None,
287
+ limit: int = RELEVANT_SCHEMA_LIMIT,
289
288
  ) -> list[EntityEdge]:
290
289
  # vector similarity search over embedded facts
291
290
  if bfs_origin_node_uuids is None:
@@ -295,12 +294,13 @@ async def edge_bfs_search(
295
294
 
296
295
  query = (
297
296
  """
298
- UNWIND $bfs_origin_node_uuids AS origin_uuid
299
- MATCH path = (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity)
300
- UNWIND relationships(path) AS rel
301
- MATCH (n:Entity)-[r:RELATES_TO]-(m:Entity)
302
- WHERE r.uuid = rel.uuid
303
- """
297
+ UNWIND $bfs_origin_node_uuids AS origin_uuid
298
+ MATCH path = (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity)
299
+ UNWIND relationships(path) AS rel
300
+ MATCH (n:Entity)-[r:RELATES_TO]-(m:Entity)
301
+ WHERE r.uuid = rel.uuid
302
+ AND r.group_id IN $group_ids
303
+ """
304
304
  + filter_query
305
305
  + """
306
306
  RETURN DISTINCT
@@ -325,6 +325,7 @@ async def edge_bfs_search(
325
325
  params=filter_params,
326
326
  bfs_origin_node_uuids=bfs_origin_node_uuids,
327
327
  depth=bfs_max_depth,
328
+ group_ids=group_ids,
328
329
  limit=limit,
329
330
  routing_='r',
330
331
  )
@@ -433,7 +434,8 @@ async def node_bfs_search(
433
434
  bfs_origin_node_uuids: list[str] | None,
434
435
  search_filter: SearchFilters,
435
436
  bfs_max_depth: int,
436
- limit: int,
437
+ group_ids: list[str] | None = None,
438
+ limit: int = RELEVANT_SCHEMA_LIMIT,
437
439
  ) -> list[EntityNode]:
438
440
  # vector similarity search over entity names
439
441
  if bfs_origin_node_uuids is None:
@@ -443,10 +445,11 @@ async def node_bfs_search(
443
445
 
444
446
  query = (
445
447
  """
446
- UNWIND $bfs_origin_node_uuids AS origin_uuid
447
- MATCH (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity)
448
- WHERE n.group_id = origin.group_id
449
- """
448
+ UNWIND $bfs_origin_node_uuids AS origin_uuid
449
+ MATCH (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity)
450
+ WHERE n.group_id = origin.group_id
451
+ AND origin.group_id IN $group_ids
452
+ """
450
453
  + filter_query
451
454
  + ENTITY_NODE_RETURN
452
455
  + """
@@ -458,6 +461,7 @@ async def node_bfs_search(
458
461
  params=filter_params,
459
462
  bfs_origin_node_uuids=bfs_origin_node_uuids,
460
463
  depth=bfs_max_depth,
464
+ group_ids=group_ids,
461
465
  limit=limit,
462
466
  routing_='r',
463
467
  )
@@ -484,6 +488,7 @@ async def episode_fulltext_search(
484
488
  YIELD node AS episode, score
485
489
  MATCH (e:Episodic)
486
490
  WHERE e.uuid = episode.uuid
491
+ AND e.group_id IN $group_ids
487
492
  RETURN
488
493
  e.content AS content,
489
494
  e.created_at AS created_at,
@@ -526,6 +531,7 @@ async def community_fulltext_search(
526
531
  get_nodes_query(driver.provider, 'community_name', '$query')
527
532
  + """
528
533
  YIELD node AS comm, score
534
+ WHERE comm.group_id IN $group_ids
529
535
  RETURN
530
536
  comm.uuid AS uuid,
531
537
  comm.group_id AS group_id,
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "graphiti-core"
3
3
  description = "A temporal graph building library"
4
- version = "0.17.9"
4
+ version = "0.17.11"
5
5
  authors = [
6
6
  { "name" = "Paul Paliychuk", "email" = "paul@getzep.com" },
7
7
  { "name" = "Preston Rasmussen", "email" = "preston@getzep.com" },
@@ -746,7 +746,7 @@ wheels = [
746
746
 
747
747
  [[package]]
748
748
  name = "graphiti-core"
749
- version = "0.17.9"
749
+ version = "0.17.11"
750
750
  source = { editable = "." }
751
751
  dependencies = [
752
752
  { name = "diskcache" },
File without changes
File without changes
File without changes