graphiti-core 0.22.1rc1__tar.gz → 0.22.1rc2__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 (209) hide show
  1. graphiti_core-0.22.1rc2/.github/workflows/release-mcp-server.yml +74 -0
  2. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/PKG-INFO +1 -1
  3. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/graph_operations/graph_operations.py +4 -8
  4. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/search_utils.py +58 -54
  5. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/pyproject.toml +1 -1
  6. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/signatures/version1/cla.json +8 -0
  7. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/uv.lock +1 -1
  8. graphiti_core-0.22.1rc1/.github/workflows/mcp-server-docker.yml +0 -73
  9. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.env.example +0 -0
  10. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  11. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/dependabot.yml +0 -0
  12. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/pull_request_template.md +0 -0
  13. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/secret_scanning.yml +0 -0
  14. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/ai-moderator.yml +0 -0
  15. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/cla.yml +0 -0
  16. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/claude-code-review-manual.yml +0 -0
  17. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/claude-code-review.yml +0 -0
  18. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/claude.yml +0 -0
  19. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/codeql.yml +0 -0
  20. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/daily_issue_maintenance.yml +0 -0
  21. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/issue-triage.yml +0 -0
  22. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/lint.yml +0 -0
  23. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/release-graphiti-core.yml +0 -0
  24. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/typecheck.yml +0 -0
  25. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.github/workflows/unit_tests.yml +0 -0
  26. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/.gitignore +0 -0
  27. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/AGENTS.md +0 -0
  28. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/CLAUDE.md +0 -0
  29. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/CODE_OF_CONDUCT.md +0 -0
  30. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/CONTRIBUTING.md +0 -0
  31. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/Dockerfile +0 -0
  32. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/LICENSE +0 -0
  33. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/Makefile +0 -0
  34. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/OTEL_TRACING.md +0 -0
  35. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/README.md +0 -0
  36. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/SECURITY.md +0 -0
  37. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/Zep-CLA.md +0 -0
  38. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/conftest.py +0 -0
  39. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/depot.json +0 -0
  40. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/docker-compose.test.yml +0 -0
  41. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/docker-compose.yml +0 -0
  42. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/ellipsis.yaml +0 -0
  43. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/data/manybirds_products.json +0 -0
  44. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/ecommerce/runner.ipynb +0 -0
  45. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/ecommerce/runner.py +0 -0
  46. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/langgraph-agent/agent.ipynb +0 -0
  47. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/langgraph-agent/tinybirds-jess.png +0 -0
  48. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/opentelemetry/.env.example +0 -0
  49. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/opentelemetry/README.md +0 -0
  50. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/opentelemetry/otel_stdout_example.py +0 -0
  51. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/opentelemetry/pyproject.toml +0 -0
  52. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/opentelemetry/uv.lock +0 -0
  53. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/podcast/podcast_runner.py +0 -0
  54. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/podcast/podcast_transcript.txt +0 -0
  55. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/podcast/transcript_parser.py +0 -0
  56. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/quickstart/README.md +0 -0
  57. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/quickstart/quickstart_falkordb.py +0 -0
  58. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/quickstart/quickstart_neo4j.py +0 -0
  59. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/quickstart/quickstart_neptune.py +0 -0
  60. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/quickstart/requirements.txt +0 -0
  61. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/wizard_of_oz/parser.py +0 -0
  62. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/wizard_of_oz/runner.py +0 -0
  63. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/examples/wizard_of_oz/woo.txt +0 -0
  64. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/__init__.py +0 -0
  65. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/cross_encoder/__init__.py +0 -0
  66. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  67. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/cross_encoder/client.py +0 -0
  68. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/cross_encoder/gemini_reranker_client.py +0 -0
  69. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
  70. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/__init__.py +0 -0
  71. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/driver.py +0 -0
  72. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/falkordb_driver.py +0 -0
  73. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/graph_operations/__init__.py +0 -0
  74. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/kuzu_driver.py +0 -0
  75. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/neo4j_driver.py +0 -0
  76. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/neptune_driver.py +0 -0
  77. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/search_interface/__init__.py +0 -0
  78. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/driver/search_interface/search_interface.py +0 -0
  79. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/edges.py +0 -0
  80. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/embedder/__init__.py +0 -0
  81. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/embedder/azure_openai.py +0 -0
  82. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/embedder/client.py +0 -0
  83. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/embedder/gemini.py +0 -0
  84. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/embedder/openai.py +0 -0
  85. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/embedder/voyage.py +0 -0
  86. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/errors.py +0 -0
  87. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/graph_queries.py +0 -0
  88. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/graphiti.py +0 -0
  89. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/graphiti_types.py +0 -0
  90. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/helpers.py +0 -0
  91. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/__init__.py +0 -0
  92. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/anthropic_client.py +0 -0
  93. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/azure_openai_client.py +0 -0
  94. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/client.py +0 -0
  95. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/config.py +0 -0
  96. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/errors.py +0 -0
  97. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/gemini_client.py +0 -0
  98. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/groq_client.py +0 -0
  99. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/openai_base_client.py +0 -0
  100. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/openai_client.py +0 -0
  101. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  102. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/llm_client/utils.py +0 -0
  103. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/migrations/__init__.py +0 -0
  104. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/models/__init__.py +0 -0
  105. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/models/edges/__init__.py +0 -0
  106. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  107. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/models/nodes/__init__.py +0 -0
  108. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/models/nodes/node_db_queries.py +0 -0
  109. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/nodes.py +0 -0
  110. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/__init__.py +0 -0
  111. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/dedupe_edges.py +0 -0
  112. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/dedupe_nodes.py +0 -0
  113. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/eval.py +0 -0
  114. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  115. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/extract_edges.py +0 -0
  116. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/extract_nodes.py +0 -0
  117. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/invalidate_edges.py +0 -0
  118. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/lib.py +0 -0
  119. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/models.py +0 -0
  120. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/prompt_helpers.py +0 -0
  121. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/snippets.py +0 -0
  122. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/prompts/summarize_nodes.py +0 -0
  123. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/py.typed +0 -0
  124. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/__init__.py +0 -0
  125. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/search.py +0 -0
  126. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/search_config.py +0 -0
  127. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/search_config_recipes.py +0 -0
  128. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/search_filters.py +0 -0
  129. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/search/search_helpers.py +0 -0
  130. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/telemetry/__init__.py +0 -0
  131. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/telemetry/telemetry.py +0 -0
  132. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/tracer.py +0 -0
  133. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/__init__.py +0 -0
  134. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/bulk_utils.py +0 -0
  135. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/datetime_utils.py +0 -0
  136. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/__init__.py +0 -0
  137. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/community_operations.py +0 -0
  138. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/dedup_helpers.py +0 -0
  139. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  140. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
  141. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/node_operations.py +0 -0
  142. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  143. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
  144. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/graphiti_core/utils/text_utils.py +0 -0
  145. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/images/arxiv-screenshot.png +0 -0
  146. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/images/graphiti-graph-intro.gif +0 -0
  147. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/images/graphiti-intro-slides-stock-2.gif +0 -0
  148. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/images/simple_graph.svg +0 -0
  149. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/.env.example +0 -0
  150. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/.python-version +0 -0
  151. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/Dockerfile +0 -0
  152. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/README.md +0 -0
  153. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/claude_desktop_config.json +0 -0
  154. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/cursor_rules.md +0 -0
  155. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/docker-compose.yml +0 -0
  156. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/graphiti_mcp_server.py +0 -0
  157. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/mcp_config_sse_example.json +0 -0
  158. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/mcp_config_stdio_example.json +0 -0
  159. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/pyproject.toml +0 -0
  160. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/mcp_server/uv.lock +0 -0
  161. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/py.typed +0 -0
  162. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/pytest.ini +0 -0
  163. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/.env.example +0 -0
  164. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/Makefile +0 -0
  165. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/README.md +0 -0
  166. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/__init__.py +0 -0
  167. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/config.py +0 -0
  168. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/dto/__init__.py +0 -0
  169. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/dto/common.py +0 -0
  170. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/dto/ingest.py +0 -0
  171. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/dto/retrieve.py +0 -0
  172. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/main.py +0 -0
  173. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/routers/__init__.py +0 -0
  174. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/routers/ingest.py +0 -0
  175. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/routers/retrieve.py +0 -0
  176. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/graph_service/zep_graphiti.py +0 -0
  177. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/pyproject.toml +0 -0
  178. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/server/uv.lock +0 -0
  179. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/cross_encoder/test_bge_reranker_client_int.py +0 -0
  180. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/cross_encoder/test_gemini_reranker_client.py +0 -0
  181. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/driver/__init__.py +0 -0
  182. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/driver/test_falkordb_driver.py +0 -0
  183. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/embedder/embedder_fixtures.py +0 -0
  184. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/embedder/test_gemini.py +0 -0
  185. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/embedder/test_openai.py +0 -0
  186. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/embedder/test_voyage.py +0 -0
  187. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/evals/data/longmemeval_data/README.md +0 -0
  188. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/evals/data/longmemeval_data/longmemeval_oracle.json +0 -0
  189. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/evals/eval_cli.py +0 -0
  190. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/evals/eval_e2e_graph_building.py +0 -0
  191. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/evals/pytest.ini +0 -0
  192. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/evals/utils.py +0 -0
  193. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/helpers_test.py +0 -0
  194. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/llm_client/test_anthropic_client.py +0 -0
  195. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/llm_client/test_anthropic_client_int.py +0 -0
  196. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/llm_client/test_client.py +0 -0
  197. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/llm_client/test_errors.py +0 -0
  198. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/llm_client/test_gemini_client.py +0 -0
  199. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/test_edge_int.py +0 -0
  200. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/test_entity_exclusion_int.py +0 -0
  201. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/test_graphiti_int.py +0 -0
  202. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/test_graphiti_mock.py +0 -0
  203. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/test_node_int.py +0 -0
  204. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/test_text_utils.py +0 -0
  205. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/utils/maintenance/test_bulk_utils.py +0 -0
  206. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/utils/maintenance/test_edge_operations.py +0 -0
  207. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/utils/maintenance/test_node_operations.py +0 -0
  208. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/utils/maintenance/test_temporal_operations_int.py +0 -0
  209. {graphiti_core-0.22.1rc1 → graphiti_core-0.22.1rc2}/tests/utils/search/search_utils_test.py +0 -0
@@ -0,0 +1,74 @@
1
+ name: Release MCP Server
2
+
3
+ on:
4
+ push:
5
+ tags: ["mcp-v*.*.*"]
6
+
7
+ env:
8
+ REGISTRY: docker.io
9
+ IMAGE_NAME: zepai/knowledge-graph-mcp
10
+
11
+ jobs:
12
+ release:
13
+ runs-on: depot-ubuntu-24.04-small
14
+ permissions:
15
+ contents: write
16
+ id-token: write
17
+ environment:
18
+ name: release
19
+ steps:
20
+ - name: Checkout repository
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Set up Python 3.11
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: "3.11"
27
+
28
+ - name: Extract and validate version
29
+ id: version
30
+ run: |
31
+ TAG_VERSION=${GITHUB_REF#refs/tags/mcp-v}
32
+
33
+ if ! [[ $TAG_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
34
+ echo "Tag must follow semantic versioning: mcp-vX.Y.Z"
35
+ exit 1
36
+ fi
37
+
38
+ PROJECT_VERSION=$(python -c "import tomllib; print(tomllib.load(open('mcp_server/pyproject.toml', 'rb'))['project']['version'])")
39
+
40
+ if [ "$TAG_VERSION" != "$PROJECT_VERSION" ]; then
41
+ echo "Tag version mcp-v$TAG_VERSION does not match mcp_server/pyproject.toml version $PROJECT_VERSION"
42
+ exit 1
43
+ fi
44
+
45
+ echo "version=$PROJECT_VERSION" >> $GITHUB_OUTPUT
46
+
47
+ - name: Log in to Docker Hub
48
+ uses: docker/login-action@v3
49
+ with:
50
+ registry: ${{ env.REGISTRY }}
51
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
52
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
53
+
54
+ - name: Set up Depot CLI
55
+ uses: depot/setup-action@v1
56
+
57
+ - name: Extract metadata
58
+ id: meta
59
+ uses: docker/metadata-action@v5
60
+ with:
61
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
62
+ tags: |
63
+ type=raw,value=${{ steps.version.outputs.version }}
64
+ type=raw,value=latest
65
+
66
+ - name: Build and push Docker image
67
+ uses: depot/build-push-action@v1
68
+ with:
69
+ project: v9jv1mlpwc
70
+ context: ./mcp_server
71
+ platforms: linux/amd64,linux/arm64
72
+ push: true
73
+ tags: ${{ steps.meta.outputs.tags }}
74
+ labels: ${{ steps.meta.outputs.labels }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphiti-core
3
- Version: 0.22.1rc1
3
+ Version: 0.22.1rc2
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
@@ -77,14 +77,12 @@ class GraphOperationsInterface(BaseModel):
77
77
 
78
78
  async def node_load_embeddings_bulk(
79
79
  self,
80
- _cls: Any,
81
80
  driver: Any,
82
- transaction: Any,
83
81
  nodes: list[Any],
84
82
  batch_size: int = 100,
85
- ) -> None:
83
+ ) -> dict[str, list[float]]:
86
84
  """
87
- Load embedding vectors for many nodes in batches. Mutates the provided node instances.
85
+ Load embedding vectors for many nodes in batches.
88
86
  """
89
87
  raise NotImplementedError
90
88
 
@@ -183,13 +181,11 @@ class GraphOperationsInterface(BaseModel):
183
181
 
184
182
  async def edge_load_embeddings_bulk(
185
183
  self,
186
- _cls: Any,
187
184
  driver: Any,
188
- transaction: Any,
189
185
  edges: list[Any],
190
186
  batch_size: int = 100,
191
- ) -> None:
187
+ ) -> dict[str, list[float]]:
192
188
  """
193
- Load embedding vectors for many edges in batches. Mutates the provided edge instances.
189
+ Load embedding vectors for many edges in batches
194
190
  """
195
191
  raise NotImplementedError
@@ -217,11 +217,11 @@ async def edge_fulltext_search(
217
217
  # Match the edge ids and return the values
218
218
  query = (
219
219
  """
220
- UNWIND $ids as id
221
- MATCH (n:Entity)-[e:RELATES_TO]->(m:Entity)
222
- WHERE e.group_id IN $group_ids
223
- AND id(e)=id
224
- """
220
+ UNWIND $ids as id
221
+ MATCH (n:Entity)-[e:RELATES_TO]->(m:Entity)
222
+ WHERE e.group_id IN $group_ids
223
+ AND id(e)=id
224
+ """
225
225
  + filter_query
226
226
  + """
227
227
  AND id(e)=id
@@ -339,8 +339,8 @@ async def edge_similarity_search(
339
339
  if driver.provider == GraphProvider.NEPTUNE:
340
340
  query = (
341
341
  """
342
- MATCH (n:Entity)-[e:RELATES_TO]->(m:Entity)
343
- """
342
+ MATCH (n:Entity)-[e:RELATES_TO]->(m:Entity)
343
+ """
344
344
  + filter_query
345
345
  + """
346
346
  RETURN DISTINCT id(e) as id, e.fact_embedding as embedding
@@ -596,11 +596,11 @@ async def node_fulltext_search(
596
596
  # Match the edge ides and return the values
597
597
  query = (
598
598
  """
599
- UNWIND $ids as i
600
- MATCH (n:Entity)
601
- WHERE n.uuid=i.id
602
- RETURN
603
- """
599
+ UNWIND $ids as i
600
+ MATCH (n:Entity)
601
+ WHERE n.uuid=i.id
602
+ RETURN
603
+ """
604
604
  + get_entity_node_return_query(driver.provider)
605
605
  + """
606
606
  ORDER BY i.score DESC
@@ -678,8 +678,8 @@ async def node_similarity_search(
678
678
  if driver.provider == GraphProvider.NEPTUNE:
679
679
  query = (
680
680
  """
681
- MATCH (n:Entity)
682
- """
681
+ MATCH (n:Entity)
682
+ """
683
683
  + filter_query
684
684
  + """
685
685
  RETURN DISTINCT id(n) as id, n.name_embedding as embedding
@@ -708,11 +708,11 @@ async def node_similarity_search(
708
708
  # Match the edge ides and return the values
709
709
  query = (
710
710
  """
711
- UNWIND $ids as i
712
- MATCH (n:Entity)
713
- WHERE id(n)=i.id
714
- RETURN
715
- """
711
+ UNWIND $ids as i
712
+ MATCH (n:Entity)
713
+ WHERE id(n)=i.id
714
+ RETURN
715
+ """
716
716
  + get_entity_node_return_query(driver.provider)
717
717
  + """
718
718
  ORDER BY i.score DESC
@@ -733,8 +733,8 @@ async def node_similarity_search(
733
733
  else:
734
734
  query = (
735
735
  """
736
- MATCH (n:Entity)
737
- """
736
+ MATCH (n:Entity)
737
+ """
738
738
  + filter_query
739
739
  + """
740
740
  WITH n, """
@@ -1037,8 +1037,8 @@ async def community_similarity_search(
1037
1037
  if driver.provider == GraphProvider.NEPTUNE:
1038
1038
  query = (
1039
1039
  """
1040
- MATCH (n:Community)
1041
- """
1040
+ MATCH (n:Community)
1041
+ """
1042
1042
  + group_filter_query
1043
1043
  + """
1044
1044
  RETURN DISTINCT id(n) as id, n.name_embedding as embedding
@@ -1097,8 +1097,8 @@ async def community_similarity_search(
1097
1097
 
1098
1098
  query = (
1099
1099
  """
1100
- MATCH (c:Community)
1101
- """
1100
+ MATCH (c:Community)
1101
+ """
1102
1102
  + group_filter_query
1103
1103
  + """
1104
1104
  WITH c,
@@ -1240,9 +1240,9 @@ async def get_relevant_nodes(
1240
1240
  # FIXME: Kuzu currently does not support using variables such as `node.fulltext_query` as an input to FTS, which means `get_relevant_nodes()` won't work with Kuzu as the graph driver.
1241
1241
  query = (
1242
1242
  """
1243
- UNWIND $nodes AS node
1244
- MATCH (n:Entity {group_id: $group_id})
1245
- """
1243
+ UNWIND $nodes AS node
1244
+ MATCH (n:Entity {group_id: $group_id})
1245
+ """
1246
1246
  + filter_query
1247
1247
  + """
1248
1248
  WITH node, n, """
@@ -1287,9 +1287,9 @@ async def get_relevant_nodes(
1287
1287
  else:
1288
1288
  query = (
1289
1289
  """
1290
- UNWIND $nodes AS node
1291
- MATCH (n:Entity {group_id: $group_id})
1292
- """
1290
+ UNWIND $nodes AS node
1291
+ MATCH (n:Entity {group_id: $group_id})
1292
+ """
1293
1293
  + filter_query
1294
1294
  + """
1295
1295
  WITH node, n, """
@@ -1378,9 +1378,9 @@ async def get_relevant_edges(
1378
1378
  if driver.provider == GraphProvider.NEPTUNE:
1379
1379
  query = (
1380
1380
  """
1381
- UNWIND $edges AS edge
1382
- MATCH (n:Entity {uuid: edge.source_node_uuid})-[e:RELATES_TO {group_id: edge.group_id}]-(m:Entity {uuid: edge.target_node_uuid})
1383
- """
1381
+ UNWIND $edges AS edge
1382
+ MATCH (n:Entity {uuid: edge.source_node_uuid})-[e:RELATES_TO {group_id: edge.group_id}]-(m:Entity {uuid: edge.target_node_uuid})
1383
+ """
1384
1384
  + filter_query
1385
1385
  + """
1386
1386
  WITH e, edge
@@ -1450,9 +1450,9 @@ async def get_relevant_edges(
1450
1450
 
1451
1451
  query = (
1452
1452
  """
1453
- UNWIND $edges AS edge
1454
- MATCH (n:Entity {uuid: edge.source_node_uuid})-[:RELATES_TO]-(e:RelatesToNode_ {group_id: edge.group_id})-[:RELATES_TO]-(m:Entity {uuid: edge.target_node_uuid})
1455
- """
1453
+ UNWIND $edges AS edge
1454
+ MATCH (n:Entity {uuid: edge.source_node_uuid})-[:RELATES_TO]-(e:RelatesToNode_ {group_id: edge.group_id})-[:RELATES_TO]-(m:Entity {uuid: edge.target_node_uuid})
1455
+ """
1456
1456
  + filter_query
1457
1457
  + """
1458
1458
  WITH e, edge, n, m, """
@@ -1488,9 +1488,9 @@ async def get_relevant_edges(
1488
1488
  else:
1489
1489
  query = (
1490
1490
  """
1491
- UNWIND $edges AS edge
1492
- MATCH (n:Entity {uuid: edge.source_node_uuid})-[e:RELATES_TO {group_id: edge.group_id}]-(m:Entity {uuid: edge.target_node_uuid})
1493
- """
1491
+ UNWIND $edges AS edge
1492
+ MATCH (n:Entity {uuid: edge.source_node_uuid})-[e:RELATES_TO {group_id: edge.group_id}]-(m:Entity {uuid: edge.target_node_uuid})
1493
+ """
1494
1494
  + filter_query
1495
1495
  + """
1496
1496
  WITH e, edge, """
@@ -1563,10 +1563,10 @@ async def get_edge_invalidation_candidates(
1563
1563
  if driver.provider == GraphProvider.NEPTUNE:
1564
1564
  query = (
1565
1565
  """
1566
- UNWIND $edges AS edge
1567
- MATCH (n:Entity)-[e:RELATES_TO {group_id: edge.group_id}]->(m:Entity)
1568
- WHERE n.uuid IN [edge.source_node_uuid, edge.target_node_uuid] OR m.uuid IN [edge.target_node_uuid, edge.source_node_uuid]
1569
- """
1566
+ UNWIND $edges AS edge
1567
+ MATCH (n:Entity)-[e:RELATES_TO {group_id: edge.group_id}]->(m:Entity)
1568
+ WHERE n.uuid IN [edge.source_node_uuid, edge.target_node_uuid] OR m.uuid IN [edge.target_node_uuid, edge.source_node_uuid]
1569
+ """
1570
1570
  + filter_query
1571
1571
  + """
1572
1572
  WITH e, edge
@@ -1636,10 +1636,10 @@ async def get_edge_invalidation_candidates(
1636
1636
 
1637
1637
  query = (
1638
1638
  """
1639
- UNWIND $edges AS edge
1640
- MATCH (n:Entity)-[:RELATES_TO]->(e:RelatesToNode_ {group_id: edge.group_id})-[:RELATES_TO]->(m:Entity)
1641
- WHERE (n.uuid IN [edge.source_node_uuid, edge.target_node_uuid] OR m.uuid IN [edge.target_node_uuid, edge.source_node_uuid])
1642
- """
1639
+ UNWIND $edges AS edge
1640
+ MATCH (n:Entity)-[:RELATES_TO]->(e:RelatesToNode_ {group_id: edge.group_id})-[:RELATES_TO]->(m:Entity)
1641
+ WHERE (n.uuid IN [edge.source_node_uuid, edge.target_node_uuid] OR m.uuid IN [edge.target_node_uuid, edge.source_node_uuid])
1642
+ """
1643
1643
  + filter_query
1644
1644
  + """
1645
1645
  WITH edge, e, n, m, """
@@ -1675,10 +1675,10 @@ async def get_edge_invalidation_candidates(
1675
1675
  else:
1676
1676
  query = (
1677
1677
  """
1678
- UNWIND $edges AS edge
1679
- MATCH (n:Entity)-[e:RELATES_TO {group_id: edge.group_id}]->(m:Entity)
1680
- WHERE n.uuid IN [edge.source_node_uuid, edge.target_node_uuid] OR m.uuid IN [edge.target_node_uuid, edge.source_node_uuid]
1681
- """
1678
+ UNWIND $edges AS edge
1679
+ MATCH (n:Entity)-[e:RELATES_TO {group_id: edge.group_id}]->(m:Entity)
1680
+ WHERE n.uuid IN [edge.source_node_uuid, edge.target_node_uuid] OR m.uuid IN [edge.target_node_uuid, edge.source_node_uuid]
1681
+ """
1682
1682
  + filter_query
1683
1683
  + """
1684
1684
  WITH edge, e, """
@@ -1879,7 +1879,9 @@ def maximal_marginal_relevance(
1879
1879
  async def get_embeddings_for_nodes(
1880
1880
  driver: GraphDriver, nodes: list[EntityNode]
1881
1881
  ) -> dict[str, list[float]]:
1882
- if driver.provider == GraphProvider.NEPTUNE:
1882
+ if driver.graph_operations_interface:
1883
+ return await driver.graph_operations_interface.node_load_embeddings_bulk(driver, nodes)
1884
+ elif driver.provider == GraphProvider.NEPTUNE:
1883
1885
  query = """
1884
1886
  MATCH (n:Entity)
1885
1887
  WHERE n.uuid IN $node_uuids
@@ -1949,7 +1951,9 @@ async def get_embeddings_for_communities(
1949
1951
  async def get_embeddings_for_edges(
1950
1952
  driver: GraphDriver, edges: list[EntityEdge]
1951
1953
  ) -> dict[str, list[float]]:
1952
- if driver.provider == GraphProvider.NEPTUNE:
1954
+ if driver.graph_operations_interface:
1955
+ return await driver.graph_operations_interface.edge_load_embeddings_bulk(driver, edges)
1956
+ elif driver.provider == GraphProvider.NEPTUNE:
1953
1957
  query = """
1954
1958
  MATCH (n:Entity)-[e:RELATES_TO]-(m:Entity)
1955
1959
  WHERE e.uuid IN $edge_uuids
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "graphiti-core"
3
3
  description = "A temporal graph building library"
4
- version = "0.22.1pre1"
4
+ version = "0.22.1pre2"
5
5
  authors = [
6
6
  { name = "Paul Paliychuk", email = "paul@getzep.com" },
7
7
  { name = "Preston Rasmussen", email = "preston@getzep.com" },
@@ -431,6 +431,14 @@
431
431
  "created_at": "2025-10-22T09:52:01Z",
432
432
  "repoId": 840056306,
433
433
  "pullRequestNo": 1020
434
+ },
435
+ {
436
+ "name": "didier-durand",
437
+ "id": 2927957,
438
+ "comment_id": 3460571645,
439
+ "created_at": "2025-10-29T09:31:25Z",
440
+ "repoId": 840056306,
441
+ "pullRequestNo": 1028
434
442
  }
435
443
  ]
436
444
  }
@@ -783,7 +783,7 @@ wheels = [
783
783
 
784
784
  [[package]]
785
785
  name = "graphiti-core"
786
- version = "0.22.1rc1"
786
+ version = "0.22.1rc2"
787
787
  source = { editable = "." }
788
788
  dependencies = [
789
789
  { name = "diskcache" },
@@ -1,73 +0,0 @@
1
- name: Build and Push MCP Server Docker Image
2
-
3
- on:
4
- push:
5
- paths:
6
- - "mcp_server/pyproject.toml"
7
- branches:
8
- - main
9
- pull_request:
10
- paths:
11
- - "mcp_server/pyproject.toml"
12
- branches:
13
- - main
14
- workflow_dispatch:
15
- inputs:
16
- push_image:
17
- description: "Push image to registry (unchecked for testing)"
18
- required: false
19
- default: false
20
- type: boolean
21
-
22
- env:
23
- REGISTRY: docker.io
24
- IMAGE_NAME: zepai/knowledge-graph-mcp
25
-
26
- jobs:
27
- build-and-push:
28
- runs-on: depot-ubuntu-24.04-small
29
- environment: development
30
- permissions:
31
- contents: read
32
- id-token: write
33
- steps:
34
- - name: Checkout repository
35
- uses: actions/checkout@v4
36
-
37
- - name: Extract version from pyproject.toml
38
- id: version
39
- run: |
40
- VERSION=$(python -c "import tomllib; print(tomllib.load(open('mcp_server/pyproject.toml', 'rb'))['project']['version'])")
41
- echo "version=$VERSION" >> $GITHUB_OUTPUT
42
- echo "tag=v$VERSION" >> $GITHUB_OUTPUT
43
- - name: Log in to Docker Hub
44
- if: github.event_name != 'pull_request' && (github.event_name != 'workflow_dispatch' || inputs.push_image)
45
- uses: docker/login-action@v3
46
- with:
47
- registry: ${{ env.REGISTRY }}
48
- username: ${{ secrets.DOCKERHUB_USERNAME }}
49
- password: ${{ secrets.DOCKERHUB_TOKEN }}
50
-
51
- - name: Set up Depot CLI
52
- uses: depot/setup-action@v1
53
-
54
- - name: Extract metadata
55
- id: meta
56
- uses: docker/metadata-action@v5
57
- with:
58
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
59
- tags: |
60
- type=ref,event=branch
61
- type=ref,event=pr
62
- type=raw,value=${{ steps.version.outputs.tag }}
63
- type=raw,value=latest,enable={{is_default_branch}}
64
-
65
- - name: Depot build and push image
66
- uses: depot/build-push-action@v1
67
- with:
68
- project: v9jv1mlpwc
69
- context: ./mcp_server
70
- platforms: linux/amd64,linux/arm64
71
- push: ${{ github.event_name != 'pull_request' && (github.event_name != 'workflow_dispatch' || inputs.push_image) }}
72
- tags: ${{ steps.meta.outputs.tags }}
73
- labels: ${{ steps.meta.outputs.labels }}