Commit graph

789 commits

Author SHA1 Message Date
Daniel Chalef
825bc5f5ce conductor-checkpoint-msg_01C3AxzcQQSNZxJcuVxAMYpG 2025-10-30 16:51:26 -07:00
Daniel Chalef
67c6adba31 conductor-checkpoint-msg_018ZD567wd4skoiAz7oML7WX 2025-10-30 16:50:33 -07:00
Daniel Chalef
a75f617823 conductor-checkpoint-msg_01GC2fQiu9gLGPGf8SvG5VW8 2025-10-30 16:49:27 -07:00
Daniel Chalef
51d23e6eaf conductor-checkpoint-msg_01884eN3wprtCkrEgEaRDzko 2025-10-30 16:48:26 -07:00
Daniel Chalef
c6321a65e7 conductor-checkpoint-msg_01UU5jQcfrW5btRJB3zy5KQZ 2025-10-30 16:46:31 -07:00
Daniel Chalef
6e401b07ef conductor-checkpoint-msg_01QPZK2pa2vUMpURRFmX93Jt 2025-10-30 16:45:56 -07:00
Daniel Chalef
f7e5ac2af0 conductor-checkpoint-start 2025-10-30 16:45:33 -07:00
Daniel Chalef
eaea30c914 conductor-checkpoint-msg_01Xe46bzgCGV4c8g4piPtSMQ 2025-10-30 16:43:37 -07:00
Daniel Chalef
d27b210f60 conductor-checkpoint-msg_012B8ESfBFcMeG3tFimpjbce 2025-10-30 16:39:02 -07:00
Daniel Chalef
6b3097599a conductor-checkpoint-msg_017netxNYzmam5Cu8PM2uQXW 2025-10-30 16:36:42 -07:00
Daniel Chalef
d0f494039a Add comprehensive SEMAPHORE_LIMIT documentation
Added detailed documentation for SEMAPHORE_LIMIT configuration to help users optimize episode processing concurrency based on their LLM provider's rate limits.

Changes:

1. **graphiti_mcp_server.py**
   - Expanded inline comments from 3 lines to 26 lines
   - Added provider-specific tuning guidelines (OpenAI, Anthropic, Azure, Ollama)
   - Documented symptoms of too-high/too-low settings
   - Added monitoring recommendations

2. **README.md**
   - Expanded "Concurrency and LLM Provider 429 Rate Limit Errors" section
   - Added tier-specific recommendations for each provider
   - Explained relationship between episode concurrency and LLM request rates
   - Added troubleshooting symptoms and monitoring guidance
   - Included example .env configuration

3. **config.yaml**
   - Added header comment referencing detailed documentation
   - Noted default value and suitable use case

4. **.env.example**
   - Added SEMAPHORE_LIMIT with inline tuning guidelines
   - Quick reference for all major LLM provider tiers
   - Cross-reference to README for full details

Benefits:
- Users can now make informed decisions about concurrency settings
- Reduces likelihood of 429 rate limit errors from misconfiguration
- Helps users maximize throughput within their rate limits
- Provides clear troubleshooting guidance

Addresses PR #1024 review comment about magic number documentation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:35:29 -07:00
Daniel Chalef
eb1c603944 conductor-checkpoint-msg_013aEa7tUV8rEmfw38BzJatc 2025-10-30 16:33:48 -07:00
Daniel Chalef
7520c8f8d7 Fix critical PR review issues
Fixed high-impact issues from PR #1024 code review:

1. **Boolean conversion bug (schema.py)**
   - Fixed _expand_env_vars returning strings 'true'/'false' instead of booleans
   - Now properly converts boolean-like strings (true/false/1/0/yes/no/on/off) to actual booleans
   - Simplified logic by removing redundant string-to-string conversions
   - Added support for common boolean string variations

2. **Dependency management (pyproject.toml)**
   - Removed pytest from main dependencies (now only in dev dependencies)
   - Moved azure-identity to optional dependencies under new [azure] group
   - Prevents forcing Azure and testing dependencies on all users

3. **Conditional Azure imports (utils.py)**
   - Made azure-identity import conditional in create_azure_credential_token_provider()
   - Raises helpful ImportError with installation instructions if not available
   - Follows lazy-import pattern for optional dependencies

4. **Documentation fix (graphiti_mcp_server.py)**
   - Fixed confusing JSON escaping in add_memory docstring example
   - Changed from triple-backslash escaping to standard JSON string
   - Updated comment to clarify standard JSON escaping is used

Issues verified as already fixed:
- Docker build context (all docker-compose files use context: ..)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:25:34 -07:00
Daniel Chalef
ec1066c4f0 conductor-checkpoint-msg_01KEuAQucnvsH94BwFgCAQXg 2025-10-30 16:22:20 -07:00
Daniel Chalef
7e267b95f8 Fix Anthropic client temperature type error
Fixed pyright type error where temperature parameter (float | None) was being passed directly to Anthropic's messages.create() method which expects (float | Omit).

Changes:
- Build message creation parameters as a dictionary
- Conditionally include temperature only when not None
- Use dictionary unpacking to pass parameters

This allows temperature to be properly omitted when None, rather than passing None as a value.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:22:06 -07:00
Daniel Chalef
2326e30263 conductor-checkpoint-msg_01FAgmoDFBPETezbBr18Bpir 2025-10-30 16:20:44 -07:00
Daniel Chalef
7f6b835839 Complete Kuzu removal from MCP server
Removed all remaining Kuzu references from:
- Test fixtures (test_fixtures.py): Changed default database to falkordb, removed kuzu configuration
- Test runner (run_tests.py): Removed kuzu from database choices, checks, and markers
- Integration tests (test_comprehensive_integration.py): Removed kuzu from parameterized tests and environment setup
- Test README: Updated all examples and documentation to reflect falkordb as default
- Docker README: Completely rewrote to remove KuzuDB section, updated with FalkorDB combined image as default

All Kuzu support has been completely removed from the MCP server codebase. FalkorDB (via combined container) is now the default database backend.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:13:56 -07:00
Daniel Chalef
1f171f2858 conductor-checkpoint-msg_014wBY9WG9GRXP7cUZ2JiqGz 2025-10-30 14:05:18 -07:00
Daniel Chalef
b9ac3efb69 Replace Kuzu with FalkorDB as default database
BREAKING CHANGE: Kuzu is no longer supported. FalkorDB is now the default.

- Renamed Dockerfile.falkordb-combined to Dockerfile (default)
- Renamed docker-compose-falkordb-combined.yml to docker-compose.yml (default)
- Updated config.yaml to use FalkorDB with localhost:6379 as default
- Removed Kuzu from pyproject.toml dependencies (now only falkordb extra)
- Updated Dockerfile to use graphiti-core[falkordb] instead of [kuzu,falkordb]
- Completely removed all Kuzu references from README
- Updated README to document FalkorDB combined container as default
- Docker Compose now starts single container with FalkorDB + MCP server
- Prerequisites now require Docker instead of Python for default setup
- Removed old Kuzu docker-compose files

Running from command line now requires external FalkorDB instance at localhost:6379
2025-10-30 13:57:07 -07:00
Daniel Chalef
d1bb8554a6 conductor-checkpoint-msg_01KWBc5S8vWzyovUTWLvPYNw 2025-10-30 13:50:35 -07:00
Daniel Chalef
8fb405521c Fix health check to eliminate 404 errors
- Changed health check to only verify FalkorDB (redis-cli ping)
- Removed non-existent /health endpoint check
- MCP server startup is visible in logs
- Container now runs without health check errors
2025-10-30 13:28:52 -07:00
Daniel Chalef
7c5d885721 conductor-checkpoint-msg_01FT3bsTuv7466EvCeRtgDsD 2025-10-30 13:26:56 -07:00
Daniel Chalef
26b14045f2 Fix combined FalkorDB image to run both services successfully
- Override FalkorDB ENTRYPOINT to use custom startup script
- Use correct FalkorDB module path: /var/lib/falkordb/bin/falkordb.so
- Create config-docker-falkordb-combined.yaml with localhost URI
- Create /var/lib/falkordb/data directory for persistence
- Both FalkorDB and MCP server now start successfully
- Tested: FalkorDB ready, MCP server running on port 8000
2025-10-30 13:20:53 -07:00
Daniel Chalef
ff4f4793d3 conductor-checkpoint-msg_011Thrsv6CjZKRCXvordMWeb 2025-10-30 13:18:19 -07:00
Daniel Chalef
3c1099f95b Fix Dockerfile syntax version and Python compatibility
- Set Dockerfile syntax to version 1 as requested
- Use Python 3.11 from Debian Bookworm instead of 3.12
- Add comment explaining Bookworm ships with Python 3.11
- Python 3.11 meets project requirement of >=3.10
- Build tested successfully
2025-10-30 13:14:50 -07:00
Daniel Chalef
0be7b247cd conductor-checkpoint-msg_01PRJ1fre9d6J4qgBmCBQhCu 2025-10-30 13:13:31 -07:00
Daniel Chalef
44472e22e0 Add combined FalkorDB + MCP server Docker image
- Created Dockerfile.falkordb-combined extending official FalkorDB image
- Added startup script to run both FalkorDB daemon and MCP server
- Created docker-compose-falkordb-combined.yml for simplified deployment
- Added comprehensive README-falkordb-combined.md documentation
- Updated main README with Option 4 for combined image
- Single container solution for development and single-node deployments
2025-10-30 12:59:09 -07:00
Daniel Chalef
4b6c81b6ff conductor-checkpoint-msg_01JP4eGXZfEjoSXWUwTHNYoJ 2025-10-30 12:55:01 -07:00
Daniel Chalef
2b414d6094 Remove User and Assistant exception from Preference prioritization 2025-10-30 12:53:05 -07:00
Daniel Chalef
cf78d1c94b conductor-checkpoint-msg_01BFZEVpXbdxuXJguFH3caek 2025-10-30 12:51:13 -07:00
Daniel Chalef
a9f31e37d8 conductor-checkpoint-msg_01NLStrCDq7HZJy3pKyGSqxM 2025-10-30 12:46:57 -07:00
Daniel Chalef
2a76296426 conductor-checkpoint-msg_01Jk4ugkAqMs4iRYWwnaNAHR 2025-10-30 11:47:27 -07:00
Daniel Chalef
73e31599ef conductor-checkpoint-msg_01ELC9AyZZGry9tN4XKrwEM6 2025-10-30 11:29:38 -07:00
Daniel Chalef
b1878403a2 conductor-checkpoint-msg_015Tbxjxrj6dynf7TbZscFD3 2025-10-30 11:28:26 -07:00
Daniel Chalef
58bad9b542 conductor-checkpoint-msg_01WRZxPMQYjNEjcFNTMzWYeL 2025-10-30 11:25:25 -07:00
Daniel Chalef
ca0092d510 conductor-checkpoint-msg_018FX6Mibr66cKLnpL84f2Js 2025-10-30 10:41:47 -07:00
Daniel Chalef
3ddfda9ac1 conductor-checkpoint-msg_0136b9tNU5ko18T3PmRkW3LJ 2025-10-30 08:36:09 -07:00
Daniel Chalef
89a5c0c50b conductor-checkpoint-msg_01LUZ9XS7C1LCG6A1VFNcRL2 2025-10-30 08:33:14 -07:00
Daniel Chalef
39725e408f conductor-checkpoint-msg_017QV6m73ShaMBdQi7L3kmhP 2025-10-30 08:29:05 -07:00
Daniel Chalef
7d8accaf2c conductor-checkpoint-msg_016bN3uyAxN28Rh8uvDpExit 2025-10-30 08:24:16 -07:00
Daniel Chalef
578432ed2d conductor-checkpoint-msg_013rt24pyzMHbrmEQein2dJJ 2025-10-30 08:12:44 -07:00
Daniel Chalef
f58675f577 conductor-checkpoint-msg_017fAeUG21Ym1EeofanFzFGa 2025-10-30 08:10:12 -07:00
Daniel Chalef
60742dca76 conductor-checkpoint-msg_01CYzyiAtLo95iVLeqWSuYiR 2025-10-30 08:08:44 -07:00
Daniel Chalef
3bf50c56e4 conductor-checkpoint-msg_01Ji7gxCG4jR145rBAupwU49 2025-10-30 08:02:28 -07:00
Daniel Chalef
00b579ff17 conductor-checkpoint-msg_01Gn6qZrD3DZd8c6a6fmMap7 2025-10-30 08:00:23 -07:00
Daniel Chalef
4573beaa3c conductor-checkpoint-msg_01D7XfEJqzTeKGyuE5EFmjND 2025-10-30 07:55:40 -07:00
Daniel Chalef
78d88cf7f6 conductor-checkpoint-msg_01JiEiEuJN3sQXheqMzCa6hX 2025-10-30 07:53:23 -07:00
Daniel Chalef
e8a360e5cf conductor-checkpoint-msg_01P7ur6mQEusfHTYpBrBnpk3 2025-10-30 07:50:07 -07:00
Daniel Chalef
517682ec36 conductor-checkpoint-msg_01MS72hQDCrr1rB6GSd3zy4h 2025-10-30 07:44:26 -07:00
Daniel Chalef
6a9f27d33c conductor-checkpoint-msg_014jJQ4FkGU4485gF41K2suG 2025-10-30 07:41:21 -07:00