Commit graph

838 commits

Author SHA1 Message Date
Daniel Chalef
dbd22fa527 conductor-checkpoint-msg_01SFY9xCnHxeCFGf53FESncs 2025-10-30 22:38:22 -07:00
Daniel Chalef
3a43d1434a conductor-checkpoint-msg_01CSgKFQaLsKVrBJAYCFoSGa 2025-10-30 22:36:01 -07:00
Daniel Chalef
3463cbf58b fix: Return JSONResponse from health check endpoint
Fixed TypeError in health check endpoint by returning a proper Starlette
JSONResponse object instead of a plain dict. Starlette custom routes require
ASGI-compatible response objects.

Error was: TypeError: 'dict' object is not callable
2025-10-30 22:30:51 -07:00
Daniel Chalef
527d384238 conductor-checkpoint-msg_01WMuxAzUnkpsa5WSXKMyLLP 2025-10-30 22:29:50 -07:00
Daniel Chalef
9c25162b82 fix: Correct logging message for entity types and add embedder logging
Fixed copy-paste error where entity types else clause was logging about
embedder client. Also added missing else clause for embedder client logging
for consistency.

- Fixed: "No Embedder client configured" -> "Using default entity types"
- Added: Missing embedder client else clause logging
2025-10-30 22:15:18 -07:00
Daniel Chalef
835203ec7e feat: Add logging to verify entity types are loaded from config
Added INFO level logging during GraphitiService initialization to confirm
that custom entity types from the configuration file are properly loaded.
This helps debug issues where the entity ontology may not be applied.

Logs the entity type names when custom types are present:
  INFO - Using custom entity types: Preference, Requirement, Procedure, ...
2025-10-30 22:14:36 -07:00
Daniel Chalef
23a0e9c76d conductor-checkpoint-msg_01UpNeurS45bREPEeGkV3uCx 2025-10-30 22:11:09 -07:00
Daniel Chalef
bb77e27039 feat: Add /health endpoint for Docker healthchecks
- Add @mcp.custom_route for /health endpoint using FastMCP
- Returns {status: 'healthy', service: 'graphiti-mcp'}
- Update Dockerfile.standalone healthcheck to use /health instead of /
- Eliminates 404 errors in logs from healthcheck pings
- Follows FastMCP best practices for operational monitoring
2025-10-30 22:10:10 -07:00
Daniel Chalef
aab042d84a conductor-checkpoint-msg_01EBqphY68KNzRWei4QNpcYg 2025-10-30 22:08:41 -07:00
Daniel Chalef
9189ba403c conductor-checkpoint-msg_01DkBq4kQA5Fdmxfikm8aBYG 2025-10-30 22:07:00 -07:00
Daniel Chalef
2cf5480d2e conductor-checkpoint-msg_01Pv3Qj9UJJat288xZTsfCm3 2025-10-30 22:05:51 -07:00
Daniel Chalef
3a892f3b13 fix: Correct config file paths in compose files
- Fix CONFIG_PATH env var: /app/config/config.yaml -> /app/mcp/config/config.yaml
- Fix volume mount path: /app/config/config.yaml -> /app/mcp/config/config.yaml
- Matches WORKDIR /app/mcp in Dockerfile.standalone
- Fixes issue where wrong config was being loaded
2025-10-30 22:04:31 -07:00
Daniel Chalef
28e2835225 conductor-checkpoint-msg_01H4isP3oHK25sGpVWzXq9kX 2025-10-30 22:02:44 -07:00
Daniel Chalef
7dfab2022f refactor: Unified standalone image with both Neo4j and FalkorDB drivers
- Modified Dockerfile.standalone to install both neo4j and falkordb extras
- Both compose files now use the same standalone image
- Config file determines which database to connect to at runtime
- Added build-standalone.sh script for building and pushing to DockerHub
- Image tags: standalone, {version}-standalone, {version}-graphiti-{core}-standalone
2025-10-30 21:58:57 -07:00
Daniel Chalef
eafa3e4d9e conductor-checkpoint-msg_01QSHNgVZvF1id5UtLhpzuUa 2025-10-30 21:58:03 -07:00
Daniel Chalef
549ee43fa0 feat: Add standalone Dockerfile for external database deployments
- Create Dockerfile.standalone for MCP server without embedded FalkorDB
- Supports both Neo4j and FalkorDB via DATABASE_PROVIDER build arg
- Update docker-compose-neo4j.yml to use standalone Dockerfile
- Update docker-compose-falkordb.yml to use standalone Dockerfile
- Fixes issue where Neo4j compose was starting embedded FalkorDB
- Separate images: standalone-neo4j and standalone-falkordb
2025-10-30 21:52:07 -07:00
Daniel Chalef
aff583c400 conductor-checkpoint-msg_01LqYK6nj1ZFfRNBRP15FMLo 2025-10-30 21:51:16 -07:00
Daniel Chalef
69af780be9 conductor-checkpoint-msg_01EUW7ArnNM6kHCgFDrQZrro 2025-10-30 21:50:11 -07:00
Daniel Chalef
def23863f2 conductor-checkpoint-msg_01DoLD51xqrrdFvq3AgkYuQi 2025-10-30 21:47:11 -07:00
Daniel Chalef
a8ae6e16d0 fix: Use service config instead of global config in status endpoint
- Changed status check to use graphiti_service.config.database.provider
- Ensures status reports the actual running database, not potentially stale global
- Fixes issue where status always reported falkordb regardless of config
2025-10-30 21:44:29 -07:00
Daniel Chalef
224f167b3f conductor-checkpoint-msg_01WLjwygBwfvbJcVoUMDV3h6 2025-10-30 21:43:53 -07:00
Daniel Chalef
57ad247666 fix: Remove obsolete KuzuDB check from status endpoint
- Remove dead code checking for 'kuzu' provider (was removed)
- Simplify status check to use configured database provider directly
- Status now correctly reports neo4j or falkordb based on config
2025-10-30 21:41:35 -07:00
Daniel Chalef
9c1572bdfa conductor-checkpoint-msg_01XgbmgFaUMPopni4Q8EhG23 2025-10-30 21:40:26 -07:00
Daniel Chalef
c3f6862761 feat: Add specific Neo4j connection error message with startup instructions 2025-10-30 21:29:21 -07:00
Daniel Chalef
cec8a27f68 conductor-checkpoint-msg_01Cd9u1z7pqmX1EG7vXXo4GA 2025-10-30 21:29:00 -07:00
Daniel Chalef
6b716d57d2 feat: Add helpful error message for database connection failures
- Catch Redis/database connection errors during initialization
- Provide clear, formatted error messages with startup instructions
- Include provider-specific guidance (FalkorDB vs Neo4j)
- Improves developer experience when database is not running
2025-10-30 21:28:34 -07:00
Daniel Chalef
008678dc49 conductor-checkpoint-msg_01CXVkHJC8gp5i395MQMhp6D 2025-10-30 21:27:31 -07:00
Daniel Chalef
8bab5db837 fix: Allow None for episode_id_prefix and convert to empty string
- Change episode_id_prefix type to str | None to accept None from YAML
- Add model_post_init to convert None to empty string for backward compatibility
2025-10-30 21:26:20 -07:00
Daniel Chalef
5f0685cd72 conductor-checkpoint-msg_01Bx1BqH3BaBxHMrnsbUQXww 2025-10-30 21:25:47 -07:00
Daniel Chalef
526150d4ca fix: Handle default config path and empty env vars correctly
- Change default config path from 'config.yaml' to 'config/config.yaml'
- Fix env var expansion to return None for empty strings instead of False
- Prevents validation errors when optional string fields have unset env vars
2025-10-30 21:24:54 -07:00
Daniel Chalef
7ffe9859ee conductor-checkpoint-msg_013ZGKfZjdDsqiCkAjAiuEk7 2025-10-30 21:24:09 -07:00
Daniel Chalef
41c661b2b6 conductor-checkpoint-msg_01S2mYUmqLohxEmoZaNqsm2f 2025-10-30 21:23:18 -07:00
Daniel Chalef
e6549e9a61 conductor-checkpoint-msg_019W9KoNBmkobBguViYUj18s 2025-10-30 21:21:50 -07:00
Daniel Chalef
ef8507a9df conductor-checkpoint-msg_01AVxUgejEA9piS6narw4omz 2025-10-30 17:30:36 -07:00
Daniel Chalef
8e44bec395 conductor-checkpoint-msg_01S3x8oHkFTM2x4ZiT81QetV 2025-10-30 17:18:27 -07:00
Daniel Chalef
4f1ea25c57 fix: Change default transport to http, mark SSE as deprecated 2025-10-30 17:11:06 -07:00
Daniel Chalef
2beab1b432 conductor-checkpoint-msg_014fda5sUsvofb537BvqkuBY 2025-10-30 17:10:21 -07:00
Daniel Chalef
89a2dc6941 conductor-checkpoint-msg_018YAxG5GsLq1dBMuGE6kwEJ 2025-10-30 17:08:50 -07:00
Daniel Chalef
c928baa1c6 conductor-checkpoint-msg_015oLk8qck3TbfaCryY9gngJ 2025-10-30 17:08:14 -07:00
Daniel Chalef
5cd3415a33 refactor: Remove duplicate is_reasoning_model calculation in factories.py 2025-10-30 17:03:12 -07:00
Daniel Chalef
d582fb99e9 conductor-checkpoint-msg_01R1zsLmxvwjZ9SwKNhSnQAv 2025-10-30 17:02:57 -07:00
Daniel Chalef
6542645790 conductor-checkpoint-msg_01EnQy5A9dMFD8F11hWKvzGo 2025-10-30 17:02:21 -07:00
Daniel Chalef
ba7a525e9c conductor-checkpoint-msg_01T2cR1aXUjNSegqzXQcW2jC 2025-10-30 17:02:08 -07:00
Daniel Chalef
66aa787729 conductor-checkpoint-msg_01SbjZ9mm9YwqeJHTDUDoKU8 2025-10-30 17:01:34 -07:00
Daniel Chalef
a1f324f6e0 conductor-checkpoint-msg_01WfmUCwXhWxEFtV7R3zJLwT 2025-10-30 16:59:02 -07:00
Daniel Chalef
857e639d32 conductor-checkpoint-msg_013ooHLBEhPccaSY4cFse8vK 2025-10-30 16:58:47 -07:00
Daniel Chalef
2229301fbe conductor-checkpoint-msg_014JsovjGyTM1mGwR1nVWLvX 2025-10-30 16:57:40 -07:00
Daniel Chalef
6cb1930f6d docs: Add current LLM model reference to CLAUDE.md
Added comprehensive model reference section documenting valid model names for OpenAI, Anthropic, and Google Gemini as of January 2025.

OpenAI Models:
- GPT-5 family (reasoning models): gpt-5-mini, gpt-5-nano
- GPT-4.1 family (standard models): gpt-4.1, gpt-4.1-mini, gpt-4.1-nano
- Legacy models: gpt-4o, gpt-4o-mini

Anthropic Models:
- Claude 3.7 family (latest)
- Claude 3.5 family
- Legacy Claude 3 models

Google Gemini Models:
- Gemini 2.5 family (latest)
- Gemini 2.0 family (experimental)
- Gemini 1.5 family (stable)

This documents that model names like gpt-5-mini, gpt-4.1, and gpt-4.1-mini used throughout the codebase are valid OpenAI model identifiers, not errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:55:51 -07:00
Daniel Chalef
f9ee06700b conductor-checkpoint-msg_014w5iHAnv7mVkKfTroeNkuM 2025-10-30 16:55:13 -07:00
Daniel Chalef
825bc5f5ce conductor-checkpoint-msg_01C3AxzcQQSNZxJcuVxAMYpG 2025-10-30 16:51:26 -07:00